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

Получатель токена

Определение

Получатель токена — идентификатор стороны или ресурсного сервера, для которого токен предназначен и который вправе его обрабатывать.

Также ищут: Token audience · поле aud · аудитория токена

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

Приём токена зависит от ожидаемого получателя, а не только от известной подписи. Проверка aud также не отменяет срок и другие ограничения профиля.

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

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

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

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

  1. Поле aud в JWT обозначает предполагаемых получателей, и обработчик должен отвергнуть токен, если не находит среди них себя.

    Граница применимости: Поле получателя по RFC 7519.

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

    Граница применимости: Проверка токена доступа JWT по RFC 9068.

  3. Один издатель может выпускать токены для нескольких API. Если в получателях токена отсутствует текущий ресурсный сервер, известный издатель и правильная подпись не делают токен подходящим этому API.

    Граница применимости: Редакторское применение поля aud из RFC 7519 и профиля токена доступа JWT RFC 9068; ожидаемый идентификатор сервера задаётся конфигурацией.

  4. В JWT aud может быть одной строкой для одного получателя или массивом строк для нескольких. Обработчик, который должен проверять это поле, ищет свой ожидаемый идентификатор среди получателей, а не сравнивает весь массив с одной строкой.

    Граница применимости: Представление aud по RFC 7519, раздел 4.1.3; приём нескольких получателей дополнительно ограничивается применимым профилем.

  5. В закрытом примере JWT предназначен этому API, но его срок действия уже истёк за пределами допустимого расхождения часов. Правильный aud не позволяет принять такой токен по профилю RFC 9068.

    Граница применимости: Редакторское разделение обязательных проверок; значение допустимого расхождения часов задаётся проверяющей стороной отдельно.

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

Не путать

Получатель токена Токен доступа

Токен доступа несёт разрешение, aud ограничивает предполагаемого получателя. Попадание в этот набор не отменяет остальные условия токена.

Получатель токена ID Token

Получатель ID Token включает клиент OIDC; получатель токена доступа указывает API. Одновременно выданные токены могут иметь разные aud.

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

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

  1. Укажите ожидаемый идентификатор API.
  2. Прочитайте aud применимого профиля.
  3. Обработайте допустимую строку или массив.
  4. Сверьте точного получателя.
  5. Проверьте издателя независимо.
  6. Сохраните проверки срока и полномочий.
  7. Не принимайте токен соседнего API по общей подписи.
Открытые основания

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

  • Стандарт3
  • Первичная спецификация
    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.

    Утверждения: 01 · 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 · 03 · 05

  • Первичная спецификация
    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.

Карта знаний

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

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

Курсы по теме

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