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
- Refresh Token rotation for protect a Replay attack - rotation mechanism implies that a refresh token can be used only once
- иные варианты 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
- Храним исключительно в httpOnly куке, если refresh token rotation не используется
- Время жизни
- 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.