Аутентификация и обработка сеанса с использованием JWT в feathersjs - PullRequest
0 голосов
/ 30 января 2020

Мы используем перья js - https://feathersjs.com/ Каркас для приложений реального времени и API REST. Имя пользователя password - это идентификационный провайдер, который мы используем для аутентификации JWT.

Мы можем создать токен доступа, используя JWT, ссылка - https://docs.feathersjs.com/guides/basics/authentication.html Этот accessToken теперь можно использовать для другие REST-запросы, требующие аутентификации путем отправки HTTP-заголовка Authorization: Bearer.

Как уже упоминалось По умолчанию единственное, что Feathers хранится в полезной нагрузке JWT, - это идентификатор пользователя. Это токен с состоянием, но он не может найти ссылки на полезную нагрузку JWT для того же.

Мы также смогли отозвать токен доступа JWT, используя ссылку - https://docs.feathersjs.com/cookbook/authentication/revoke-jwt.html Мы используем redis для того же самого.

Теперь вопрос в том, где хранится этот токен доступа JWT и является ли этот JWT без сохранения состояния или с сохранением состояния.

Если этот JWT является сохраняющим состояние, действительно ли нам нужно поддерживать сеанс в наше node js приложение или этот JWT достаточно для того же. Иначе Если этот JWT не имеет состояния, как мы можем поддерживать сеанс в node js приложении.

даже Не удалось найти ссылки, связанные с refre sh token.

Спасибо.

1 Ответ

1 голос
/ 01 февраля 2020

Нет сеансов при использовании JWT и нет необходимости выполнять какую-либо обработку сеанса (см. эту запись FAQ для получения дополнительной информации ). Клиент должен где-то хранить его (и удалять, чтобы выйти из системы).

Здесь с сохранением состояния просто означает, что существует дополнительный запрос для получения информации о текущем пользователе при выполнении аутентифицированного запроса. Идентификатор пользователя хранится в подпункте (субъект) токена. Вы можете увидеть это при кодировании токена (например, используя jtw.io ). Как создать токены без состояния, которые не отправляют запрос на получение информации о пользователе, также задокументировано в кулинарной книге , но обычно это не требуется.

...