Почему это важно
Читаемое содержимое и правильная подпись подтверждают лишь часть условий; обработчик обязан знать назначение токена, издателя, получателя и профиль проверки.
Что подтверждено
JWT передаёт набор утверждений в компактной форме, безопасной для URL, и может быть подписан или зашифрован средствами JOSE.
Граница применимости: Формат JWT по RFC 7519.
JWT — формат, а не назначение: токен доступа OAuth требует отдельного профиля, а ID Token OpenID Connect предназначен другому получателю.
Граница применимости: Формат JWT, токен доступа OAuth и идентификационный токен OIDC.
Что проверить
- Определите профиль токена.
- Проверьте alg, издателя, aud и время.
- Не доверяйте содержимому без полной проверки.
Первоисточники
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.
Открыть первоисточник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.
Открыть первоисточник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.
Открыть первоисточник