Приложения и доступ к API

ID Token

Определение

ID Token — JWT с утверждениями о том, что сервер авторизации проверил пользователя. Он предназначен клиенту как результат входа, а не ресурсному серверу вместо токена доступа.

Также ищут: OIDC ID Token · идентификационный токен · результат проверки OIDC

Зачем это знать

Клиент должен проверить результат входа и его связь с запросом. Для прикладного API отдельно нужны подходящие учётные данные и разрешение на действие.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. ID Token — JWT с утверждениями о проверке конечного пользователя сервером авторизации и, при запросе, другими сведениями.

    Граница применимости: Определение ID Token в OpenID Connect.

  2. Ресурсный сервер должен различать ID Token и токен доступа JWT по типу, получателю и профилю проверки, а не принимать любой подписанный JWT.

    Граница применимости: ID Token OIDC и токен доступа по RFC 9068.

  3. Получатели ID Token должны включать идентификатор клиента, для которого он выпущен. Клиент проверяет его по правилам OIDC, включая издателя, получателя и срок; один факт декодирования не подтверждает вход.

    Граница применимости: ID Token по OpenID Connect Core 1.0; дополнительные правила нескольких получателей и azp применяются по профилю.

  4. Если клиент передал nonce в запросе OIDC, ID Token должен содержать то же значение, и клиент проверяет совпадение. Наличие произвольного поля nonce без связи с исходным запросом не выполняет эту проверку.

    Граница применимости: Связывание запроса и ответа OIDC; обязательность самого запроса nonce зависит от используемого потока.

  5. Проверенный ID Token предназначен клиенту как результат проверки пользователя. Для вызова API нужен подходящий токен доступа и отдельное решение о разрешённых действиях; вход не выдаёт пользователю доступ ко всем объектам.

    Граница применимости: Редакторское разделение результата входа OIDC и проверки токена доступа API по RFC 9068.

Граница терминов

Не путать

ID Token Токен доступа

ID Token нужен клиенту для результата входа, токен доступа — API для защищённого запроса. Тип и получатель проверяются по разным профилям.

ID Token OpenID Connect

OIDC задаёт поток проверки пользователя, ID Token переносит его результат клиенту в формате JWT. Разбор формата ещё не выполняет проверку результата.

Перед спецификацией

Что проверить

  1. Определите клиент OIDC.
  2. Проверьте издателя и правила подписи потока.
  3. Сверьте идентификатор клиента среди получателей.
  4. Проверьте срок действия.
  5. Сверьте nonce, если он передавался.
  6. Примените дополнительные правила профиля.
  7. Отправляйте API подходящий токен доступа.
Открытые основания

Первоисточники

  • Стандарт3
  • Первичная спецификация
    OpenID Connect Core 1.0 incorporating errata set 2 OpenID Foundation · OpenID Connect Core 1.0, Final · проверено

    Определяет identity layer поверх OAuth 2.0, openid scope, ID Token и правила его validation.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Первичная спецификация
    JSON Web Token Profile for OAuth 2.0 Access Tokens Internet Engineering Task Force · RFC 9068, October 2021 · проверено

    Профилирует JWT access token: at+jwt type, required iss/exp/aud и resource-server validation, отличая его от ID Token.

    Утверждения: 02 · 05

  • Первичная спецификация
    JSON Web Token Internet Engineering Task Force · RFC 7519, May 2015 · проверено

    Определяет compact JWT format и registered claims issuer, subject, audience, expiration, not-before, issued-at и JWT ID.

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие