Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Refresh Token

Зачем

При аутентификация по протоколу OAuth для обеспечения информационной безопасности.

Паттерны

  • SPA - public client
    • Refresh Token rotation for protect a Replay attack - rotation mechanism implies that a refresh token can be used only once
      • Заданный долгий срок жизни Refresh token сокращается с помощью Refresh Token rotation. Обновление действительно только в течение времени жизни сессии пользователя
    • Can Store Refresh Token In Local Storage or browser memory
  • иные варианты to keep a session going can be
    • cookies
    • silent authentication
    • in iframe - legacy Google block
  • Confidential Clients Should Not Rotate Refresh Tokens

Security

  • Хранение
    • Храним исключительно в httpOnly куке, если refresh token rotation не используется
      • If your application uses refresh token rotation, it can now store it in local storage or browser memory
  • Время жизни
    • These tokens have a longer lifespan, typically set to 30 minutes by default. They are used to refresh the access token after it expires. If the refresh token itself expires, the user must log in again to obtain new tokens.
  • Revoke tokens Отзыв токенов
    • on logout
    • Рекомендуется включить эту функцию и установить значение «Максимальное количество повторных использований токена обновления» (Refresh Token Max Reuse) равным 0.