Объясните, что такое обновительный токен в системе авторизации и как он работает
Обновительный токен (refresh token) — это специальный токен, который используется для получения нового access-токена после того, как последний истёк.
Читать ответПодготовка к интервью
33 вопроса с ответами по теме «Аутентификация, сессии и токены»
Что проверяют на интервью
Разберите границу между подтверждением личности и проверкой прав. Вопросы охватывают хранение и проверку токенов, завершение сессий, OAuth/OIDC, двухфакторную аутентификацию и ошибки реализации.
Каталог
Обновительный токен (refresh token) — это специальный токен, который используется для получения нового access-токена после того, как последний истёк.
Читать ответJWT (JSON Web Token) и серверные сессии отличаются по способу хранения и подтверждения аутентификации:
Читать ответПодпись JWT (JSON Web Token) служит для проверки целостности и подлинности токена — то есть подтверждает, что токен не был изменён и был создан доверенным источником.
Читать ответХранение списка отозванных токенов (blacklist) — сервер хранит идентификаторы (например, jti) или сами токены, которые были отозваны пользователем.
Читать ответKeycloak — это платформа с открытым исходным кодом для управления аутентификацией и авторизацией.
Читать ответSpring Security строится вокруг цепочки фильтров (Filter Chain), которая перехватывает HTTP-запросы и обрабатывает их последовательно.
Читать ответJWT (JSON Web Token) — это компактный, URL-безопасный токен, который используется для передачи информации между сторонами в виде JSON-объекта.
Читать ответПодмена или перехват JWT-токена возможны, если злоумышленник получает доступ к токену или ключам, используемым для его подписи. Основные способы:
Читать ответСтандартный flow авторизации через Keycloak обычно выглядит так:
Читать ответВ описанной реализации есть несколько проблем:
Читать ответПравильная генерация токенов авторизации должна обеспечивать уникальность, безопасность и защиту от перебора (brute force). Обычно используют криптографически стойкие случайные значения или JWT с подписью.
Читать ответCookie-based аутентификация — это способ сохранения состояния пользователя на клиенте с помощью HTTP cookie.
Читать ответ