Size: a a a

NestJS — русскоязычное сообщество

2020 October 11

JB

Joe Beretta in NestJS — русскоязычное сообщество
Anton Golovanov
Либо блэклист, либо вайтлист надо иметь.
Ну это я решаю через поле алч blocked: boolean
источник

JB

Joe Beretta in NestJS — русскоязычное сообщество
А токены/сессии использую там, где нужно вести и показывать журнал действий юзера
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Nomad
зачем хранить токен в базе?
JWT в базе не хранится, в базе хранятся только refresh токены.
Это позволяет знать все действующие сессии всех пользователей и инвалидировать их при необходимости
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Фактически refresh токен — это как токен сессии на сервисе аутентификации.
Он позволяет авторизоваться на сервисе аутентификации и получить новый access_token (JWT), с которым уже приложение будет проходить аутентификацию в других сервисах.
источник

MA

Maxim Afanasev in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Фактически refresh токен — это как токен сессии на сервисе аутентификации.
Он позволяет авторизоваться на сервисе аутентификации и получить новый access_token (JWT), с которым уже приложение будет проходить аутентификацию в других сервисах.
+++ Удивительно, насколько много недопонимания с JWT.
источник

AG

Anton Golovanov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Фактически refresh токен — это как токен сессии на сервисе аутентификации.
Он позволяет авторизоваться на сервисе аутентификации и получить новый access_token (JWT), с которым уже приложение будет проходить аутентификацию в других сервисах.
Где только его прятать на фронте?
источник

MA

Maxim Afanasev in NestJS — русскоязычное сообщество
Anton Golovanov
Где только его прятать на фронте?
В localStorage
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Anton Golovanov
Где только его прятать на фронте?
рефреш - в httpOnly куке по традиции.
А с JWT - в приложении.
Проще (и хуже) всего в LS.
Лучше - в памяти приложения (в замыкании).
Идеально - в сервис-воркере
источник

AG

Anton Golovanov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
рефреш - в httpOnly куке по традиции.
А с JWT - в приложении.
Проще (и хуже) всего в LS.
Лучше - в памяти приложения (в замыкании).
Идеально - в сервис-воркере
А куку в кроссдоменах как юзать? Или просто, как хранилище?
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Anton Golovanov
А куку в кроссдоменах как юзать? Или просто, как хранилище?
А рефреш не нужен на разных доменах.
Рефреш используется только в одном месте  — получение JWT на сервисе аутентификации.
И только этот сервис (на одном домене) получает рефреш в куке, и он же её устанавливает
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Или ты про SameSite?
источник

AG

Anton Golovanov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
А рефреш не нужен на разных доменах.
Рефреш используется только в одном месте  — получение JWT на сервисе аутентификации.
И только этот сервис (на одном домене) получает рефреш в куке, и он же её устанавливает
Ну если фронт отдельно лежит, как SPA. на бэке только АПИ на другом домене/порте.
источник

JB

Joe Beretta in NestJS — русскоязычное сообщество
https://ru.m.wikipedia.org/wiki/JSON_Web_Token

Периодически перечитываю, чтоб понять, все ли правильно я сделал в предыдущем проекте. Да и доступно описано
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Anton Golovanov
Ну если фронт отдельно лежит, как SPA. на бэке только АПИ на другом домене/порте.
Либо использовать CSRF токен, либо делать аутентификацию и SPA на одном домене (не обязательно физически, можно просто на сервере с SPA делать обратный прокси к auth сервису)
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
Anton Golovanov
Ну если фронт отдельно лежит, как SPA. на бэке только АПИ на другом домене/порте.
Вру, CSRF токен не нужен, тут можно и простым CORS-ом закрыть
источник

🏡K

🏡 ILshat Khamitov in NestJS — русскоязычное сообщество
Grigorii K. Shartsev
Либо использовать CSRF токен, либо делать аутентификацию и SPA на одном домене (не обязательно физически, можно просто на сервере с SPA делать обратный прокси к auth сервису)
Это для форм вроде, чтобы формы с конкретного ток сайта слались, можно и с корсом в дополнение юзать
источник

GS

Grigorii K. Shartsev in NestJS — русскоязычное сообщество
🏡 ILshat Khamitov
Это для форм вроде, чтобы формы с конкретного ток сайта слались, можно и с корсом в дополнение юзать
Да, я поправился следующим сообщением)
источник

K

Kurakste in NestJS — русскоязычное сообщество
Скажите а почему тайпскирип в примере из документации на Nest на  Function ругается? я так понимаю просить чтобы тип был точнее описан. типа: () =>
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Function - тип из JavaScript
источник

KL

Konstantin Lobkov in NestJS — русскоязычное сообщество
Тебе нужно описать всю сигнатуру анонимной функции
источник