Open1
RFC 9068 JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens
RFC 9068 - JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens
アクセストークンを発行する認可サーバーと、アクセストークンを (クライアントから) 受け取るリソースサーバーが分かれているとき、リソースサーバーがトークンイントロスペクションエンドポイントを用いずにアクセストークンの有効性や関連情報を得られるようにするために、アクセストークンを JWT にする事がある。本仕様ではアクセストークンを JWT にする場合の標準的な仕様が定義されている。
ヘッダ
アクセストークンを JWT にする場合、JWT は署名されていなければならず、署名アルゴリズムとして RS256 をサポートしなければならない。
また、ヘッダの typ
は application/at+jwt
または at+jwt
とするべきである。
ペイロード
claim | description |
---|---|
iss | (必須) これは Server Metadata (RFC8414) の issuer と同じであり、https での URL である |
exp | (必須) アクセストークン の失効日時 |
aud | (必須) 認可エンドポイントやトークンエンドポイントのリクエストに resource (RFC 8707) が含まれる場合はそれに対応した値。含まれない場合は認可サーバーで定めるデフォルト値にする |
sub | (必須) 認可コードフローのようにリソースオーナーがある場合にはその識別子。クライアントクレデンシャルズフローなどのようにクライアント自身がリソースオーナーの場合はクライアントの識別子 |
client_id | (必須) アクセストークンをリクエストしたクライアントの識別子 |
iat | (必須) アクセストークンの発行日時 |
jti | (必須) アクセストークンの識別子 |
auth_time | (任意) 認証日時[1] |
acr | (任意) 認証コンテクストリファレンス[1:1] |
amr | (任意) 認証方法[1:2] |
scope | (任意) クライアントが認可エンドポイントやトークンエンドポイントで scope リクエストパラメータを指定した場合にはこのクレームを含むべきとされている |