JWT - Джейсон веб-токен и refre sh токен - PullRequest
0 голосов
/ 11 апреля 2020

В моем приложении (node js & angular в качестве API отдыха) я использую пакет jasonwebtoken для аутентификации.

Когда пользователь входит в систему, я создаю токен доступа, который действителен в течение 30 минут и токен refre sh, у которого нет срока действия.

токен refre sh сохраняется в моей БД для каждого пользователя и удаляется в случае выхода из системы. (Процесс refre sh включает проверку токена и его соответствие в БД). У меня также есть автоматический выход из системы, который будет go через час после истечения срока действия токена доступа (так как я переименовываю только sh токен доступа, если он истек - то есть, если я звоню на сервер за 1 секунду до истечения срока действия, пользователь все равно получит выход из системы).

И refre sh, и токены доступа также сохраняются локально в браузере local storage для таких случаев, как страница refre sh - которые вызывают автоматический вход в систему ( local storage удаляется при выходе из системы).

Поскольку для меня это новая топи c, и поскольку я не нашел ничего конкретного о том, что делать в случае автоматического входа и автоматического выхода, у меня есть несколько вещей, которые мне не ясны:

Я нашел это JWT (JSON Web Token) автоматы c продление срока действия вопрос об установке даты истечения срока действия, но это не так Не говорите ничего об автоматическом входе / выходе из системы и о таких приложениях, как Банк, для которых это необходимо.

  1. Процесс обновления solid? Я прочитал много чёрных списков токенов refre sh, но я не увидел преимущества сохранения всех токенов
  2. Мой механизм автоматического выхода из системы выстроен так, как должен? я должен сделать модификации для этого? Можно ли разрешить автоматический выход из системы через час после истечения срока действия маркера доступа?
  3. Если пользователь закроет браузер, автоматический выход из системы не будет работать и токен refre sh будет действителен до пользователь снова войдет в систему - что я могу сделать, чтобы это заработало? Если я буду работать с session storage, токен все равно не будет удален из БД.
  4. В случае, если у меня есть вызов на сервер, который потребовал некоторую информацию о пользователе (например, его идентификатор БД), я все еще ожидаю получить его в теле запроса / параметрах запроса - это нормально или я должен использовать полезную нагрузку из маркера доступа?

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...