Токен доступа предъявляют API, токен обновления — серверу авторизации. Их получатели и правила применения различаются, даже если оба выглядят как строки.
Токен доступа
Определение
Токен доступа — учётные данные, которые клиент предъявляет ресурсному серверу, чтобы получить доступ к защищённому API. У токена есть конкретные полномочия, получатель и срок действия, но решение о доступе принимает сам API.
Также ищут: Access token · токен доступа OAuth · учётные данные для API
Зачем это знать
Назначение, подпись, издатель, получатель, срок и права образуют отдельные условия. Клиентское декодирование или короткая жизнь токена не дают разрешения на запрос.
Как токен даёт доступ
Карта понятия
Сравнить
Что подтверждено
Токен доступа представляет разрешение с конкретными полномочиями, сроком и другими ограничениями и предъявляется ресурсному серверу.
Граница применимости: Общее понятие токена доступа в OAuth 2.0.
OAuth не задаёт единственный формат токена доступа: токен может быть непрозрачной строкой или JWT по отдельному профилю.
Граница применимости: Токен доступа OAuth и отдельный профиль JWT.
До приёма токена API определяет его назначение и профиль проверки. Для JWT по RFC 9068 проверяются подпись и обязательные условия профиля, включая тип, издателя, получателя и срок; затем применяются правила доступа к запрошенному ресурсу.
Граница применимости: Редакторское соединение общего токена OAuth и конкретного профиля токена доступа JWT. Произвольному токену не приписываются поля этого профиля.
Короткий срок действия ограничивает время использования, но не сужает уже выданные полномочия или получателей. В учебном примере действующий одну минуту токен с правом записи всё ещё допускает эту запись, если остальные проверки и правила API её разрешают.
Граница применимости: Закрытый пример независимости времени, полномочий и целевого ресурса. Одна минута не является рекомендуемым сроком жизни всех токенов.
Разбор токена клиентом не даёт ему права принять решение за API. Даже видимые поля JWT не заменяют проверку токена ресурсным сервером и его собственное решение о доступе.
Граница применимости: Редакторская граница клиента и ресурсного сервера по OAuth и RFC 9068; видимое содержимое не считается доверенным само по себе.
Не путать
Токен доступа предназначен ресурсному серверу, ID Token даёт клиенту результат входа. Общий издатель и подпись не делают их взаимозаменяемыми.
Что проверить
- Укажите назначение токена.
- Выберите профиль проверки API.
- Проверьте подпись и издателя по профилю.
- Сверьте тип и получателя.
- Проверьте срок и применимые ограничения.
- Примените права к объекту и действию.
- Не разрешайте запрос по клиентскому разбору токена.
Первоисточники
- JSON Web Token Profile for OAuth 2.0 Access Tokens
Профилирует JWT access token: at+jwt type, required iss/exp/aud и resource-server validation, отличая его от ID Token.
- Resource Indicators for OAuth 2.0
Вводит resource parameter для target API и audience-restricted access tokens: scope отвечает что, resource — где.
Утверждения: 04
- OpenID Connect Core 1.0 incorporating errata set 2
Определяет identity layer поверх OAuth 2.0, openid scope, ID Token и правила его validation.