PassFront
  1. PassFront
  2. База знаний
  3. DOM и браузер

Чем отличаются виды токенов и где они применяются?

DOM и браузер

Виды токенов: access token (доступ к API, короткий), refresh token (обновление access, длинный), ID token (данные о пользователе, OpenID Connect). Плюс opaque и JWT по формату.

По назначению

Access Token

Короткоживущий, для доступа к API:

Authorization: Bearer <access_token>
  • Когда: каждый запрос к защищённому ресурсу.
  • Короткий срок (минуты), в памяти.

Refresh Token

Долгоживущий, для получения нового access без повторного логина:

POST /auth/refresh → новый access
  • Когда: access истёк.
  • Длинный срок (дни), в HttpOnly cookie.

ID Token (OpenID Connect)

Содержит данные о пользователе (кто он) для аутентификации:

  • Когда: узнать личность пользователя после логина (OIDC поверх OAuth).

По формату

JWT (самодостаточный)

header.payload.signature — данные внутри, проверка по подписи (stateless):

  • Когда: масштабируемость, сервер не хранит сессию.

Opaque (непрозрачный)

Случайная строка, данные на сервере (stateful):

  • Когда: нужен лёгкий отзыв, контроль на сервере.

Как применяются

Логин → access (память) + refresh (HttpOnly cookie) [+ ID token для данных о юзере]
Запросы → access в заголовке
Истёк access → refresh → новый access

Коротко для собеседования

По назначению: access token (доступ к API, короткий, в памяти), refresh token (обновление access, длинный, в HttpOnly cookie), ID token (данные о пользователе, OpenID Connect). По формату: JWT (данные внутри, stateless, масштабируемо) и opaque (данные на сервере, stateful, легко отозвать). Access — для запросов, refresh — для обновления.

Другие вопросы раздела