Ответ
Access Token (Токен доступа) — это учетные данные, выданные сервером авторизации, которые клиентское приложение использует для доступа к защищенным ресурсам (API) от имени пользователя. Это ключевой компонент протоколов OAuth 2.0 и OpenID Connect.
Ключевые характеристики:
- Краткосрочный: Имеет ограниченный срок жизни (например, 1 час) для минимизации рисков.
- Ограниченный по правам (scope): Определяет, к каким ресурсам и операциям предоставлен доступ.
- Передается в запросах: Обычно в заголовке
Authorizationпо схеме Bearer.
Пример использования в HTTP-запросе:
GET /api/user/profile HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Типы токенов:
- JWT (JSON Web Token): Самодостаточный токен, содержащий в себе полезную нагрузку (claims) с данными о пользователе и правах. Может проверяться без обращения к серверу авторизации, если известен ключ подписи.
- Непрозрачный токен (Opaque Token): Просто случайная строка, которая служит ссылкой на данные, хранящиеся на сервере авторизации. Для проверки требуется интроспекция токена.
Почему используется? Токены отделяют сервис авторизации от ресурсных серверов, обеспечивают ограниченный доступ и упрощают архитектуру распределенных систем.