Перейти к основному содержимому

Принцип и сценарии

Глоссарий

  • гость не аутентифицированный посетитель
  • пользователь аутентифицированный посетитель

Назначение и требования к токенам

Access token

  • Короткоживущий многоразовый токен
  • JWT
  • За счет короткого времени жизни дополнительной проверки не требуется

Refresh token

  • Предназначен для одноразового получения нового комплекта токенов
  • Токен должен храниться в базе данных и содержать следующую информацию:
    • Разрешение на генерацию токена
      • предыдущий refresh token
      • аутентификация пользователя
      • регистрация пользователя
  • Т.к. токен одноразовый и периодически обновляется, то нельзя использовать sessionStorage для его хранения

Технические сценарии

Гость на сайте

Гость логинится

Гость регистрируется

Пользователь выполняет запрос с корректным токеном

Пользователь выполняет запрос с некорректным токеном

Если refresh token уже был ранее использован, то это может означать что токен ранее утек, потому пользователю надо об этом сообщить, и, возможно заблокировать все refresh token'ы, выпущенные благодаря потенциально утекшему

Пользователь обновляет токены

Если refresh token уже был ранее использован, то это может означать что токен ранее утек, потому пользователю надо об этом сообщить, и, возможно заблокировать все refresh token'ы, выпущенные благодаря потенциально утекшему

Пользователь логинится

При переходе пользователя на страницу логина его перенаправляет на главную

Пользователь регистрируется

Регистрация недоступна для аутентифицированного пользователя