- Auth0のトークンプロファイル(デフォルトのアクセストークンプロファイル)
- RFC 9068トークンプロファイル(IETF JWT Profile for OAuth 2.0 Access Tokens(RFC 9068)に準拠したアクセストークンプロファイル)
トークンプロファイル | 説明 | トークンダイアレクト |
---|---|---|
Auth0トークンプロファイル | デフォルトのトークンプロファイル。JSON Web Token (JWT)としてフォーマットされたアクセストークンを発行します。 | Auth0トークンプロファイルは、2つのトークンダイアレクトと関連しています:
|
RFC 9068トークンプロファイル | JWTフォーマットのOAuth 2.0アクセストークンのエンコードのためのIETF標準に準拠したJSON Web Token (JWT)としてフォーマットされたアクセストークンを発行します。 | The RFC 9068トークンプロファイルは、2つのトークンダイアレクトと関連しています:
|
Auth0プロファイルのサンプルトークン
RFC 9068プロファイルのサンプルトークン
トークンプロファイルの違い
Auth0プロファイルとRFC 9068プロファイルはトークン形式の異なるJWTを発行します。主な違いは以下の通りです。- RFC 9068プロファイルには
jti
クレームが組み込まれており、JWTに一意の識別子を提供する。 - Auth0プロファイルは
azp
クレームを使用してクライアントIDを表すが、RFC 9068プロファイルはclient_id
クレームを使用する。 - RFC 9068プロファイルは、認証フローを表すAuth0固有のクレームである
gty
クレームは使用しない。
ヘッダー
データ | RFC 9068プロファイル | Auth0プロファイル |
---|---|---|
type | at+jwt | JWT |
alg | 署名アルゴリズム。例:RS256 | 署名アルゴリズム。例:RS256 |
クレーム
クレーム | 説明 | RFC 9068プロファイルに存在 | Auth0プロファイルに存在 | サンプルのクレーム |
---|---|---|---|---|
iss | アクセストークンを発行するAuth0テナントの発行者識別子です。 | 有 | 有 | テナントドメイン:https://tenant.auth0.com/ |
sub | サブジェクトクレームは、アクセストークンがどのユーザーまたはアプリケーションに発行されたかを示します:
| 有 | 有 |
|
aud | オーディエンスクレームは、アクセストークンの意図された受信者を示します。 | 有 | 有 | "https://test-server/api" または[ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ] |
client_id | アクセストークンを要求したアプリケーションのクライアントIDです。 | 有 | 無 | クライアント ID:K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja |
azp | アクセストークンを要求したアプリケーションのクライアントIDです。 | 無 | 有 | クライアント ID:K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja |
exp | 有効期限です。これ以降、アクセストークンを受け付けて処理してはいけません。 | 有 | 有 | エポックタイムスタンプ(秒単位):1516238022 |
iat | アクセストークン発行のタイムスタンプです。 | 有 | 有 | エポックタイムスタンプ(秒単位):1516239022 |
scope | 発行されたアクセストークンのスコープです。詳細については、「スコープ」をお読みください。 | 有 | 有 | "openid profile offline_access" |
jti | アクセストークンの一意の識別子です。 | 有 | 無 | 一意の文字列識別子です。aBv9njtYfwL4xfPZyEwz9m |
gty | アプリケーションがアクセストークンの要求に使用した付与タイプです。password やrefresh_token 付与タイプにのみ存在します。 | 無 | 状況による | 付与タイプ:password |
permissions | ロールに応じて、ユーザーまたはアプリケーションに付与可能な権限です。APIで__[Enable RBAC(RBACを有効にする)]と[Add permissions in the Access Token(アクセストークンに権限を追加する)]__が有効化されている場合にのみ含まれます。詳細については、「APIにロールベースのアクセス制御を有効にする」をお読みください。 | 状況による | 状況による | [ "create:bar", "create:foo", "read:bar", "read:foo" ] |
org_id | 組織IDです。ユーザーが組織を通して認証した場合に追加されます。詳細については、「トークンと組織で作業する」をお読みください。 | 状況による | 状況による | 組織ID:org_9ybsU1dN2dKfDkBi |
org_name | 組織名。ユーザーが組織を通して認証し、__[Organization Names in Authentication API(Authentication APIで組織名を使用する)]__の設定が有効な場合に追加されます。詳細については「Authentication APIで組織名を使用する」をお読みください。 | 状況による | 状況による | 組織名:my_organization |
authorization_details | Rich Authorization Request(RAR)で使用されている認可の詳細情報です。詳細については、「Rich Authorization Requestsを使用した認可コードフロー」をお読みください。 | 状況による | 状況による | { "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxxxxxxxxx9876", "beneficiary": "Hanna Herwitz", } |
cnf | mTLSトークンバインディングに対応の確認クレームです。 | 状況による | 状況による | {"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"} |
カスタムクレーム | カスタムクレームは、アクションを使ってアクセストークンに追加することができます。詳細については「カスタムクレームを作成する」をお読みください。 | 状況による | 状況による | "favorite_color": “blue” |