Пару вопросов про JWT

Доброго времени суток.
Делаю API на ASP.Net Core, использую авторизацию через JWT и появилось пару вопросов:

  1. Нужно ли выдавать новый Refresh-Token каждый раз, при обновлении токена доступа? (В каком то из вопросов на enSO видел комментарий, что нужно, чтобы повысить безопасность, правда ли?)
  2. Если выдавать новый Refresh-Token нужно, то нужно/можно ли удалять текущий (с которым пришел запрос) Refresh-Token из базы? (Токен живет 5 минут, если каждые 5 минут заполнять базу новыми Refresh-Tokena'ми (которые живут 7 дней), то это будет как-то слишком много данных, нет?)
  3. Если выдают каждый раз новый Refresh-Token, то для чего делают их время существования большими? Например, 7 дней, для того, что если пользователь вошел и не заходил на сайт, например, 3 дня, то он смог обновить токен и продолжить работать без повторной авторизации?
  4. Как сделать моментальный выход из системы для определенного пользователя? Например при обновлении пароля в ВК моментально выходит везде (телефоны, браузеры и пр.).

UPD-1: Ответ на первый вопрос найден:

Рефреш токен (RT) — эти токены выполняют только одну специфичную задачу — получение нового токена доступа. И на этот раз без сервера авторизации не обойтись. Они долгоживущие, но одноразовые.


Ответы (0 шт):