メインコンテンツへスキップ
プロファイルは、API 向けに発行されるアクセストークンの形式とクレームを定義します。Auth0 では、トークンダイアレクトとも呼ばれる、次のアクセストークンプロファイルをサポートしています。
  • Auth0 トークンプロファイル、またはデフォルトのアクセストークンプロファイル
  • RFC 9068 トークンプロファイル、または IETF JWT Profile for OAuth 2.0 Access Tokens (RFC 9068) に準拠したアクセストークンプロファイル
トークンプロファイル説明トークンダイアレクト
Auth0 token profileデフォルトのトークンプロファイルです。JSON Web Token (JWT) 形式のアクセストークンを発行します。Auth0 トークンプロファイルには、次の 2 つのトークンダイアレクトが関連付けられています。
  • access_token
  • access_token_authz、または permissions クレームを含む access_token プロファイル
RFC 9068 token profileJWT 形式で OAuth 2.0 アクセストークンをエンコードするための IETF 標準 に準拠した JSON Web Token (JWT) 形式のアクセストークンを発行します。RFC 9068 トークンプロファイルには、次の 2 つのトークンダイアレクトが関連付けられています。
  • rfc9068_profile
  • rfc9068_profile_authz、または permissions クレームを含む rfc9068_profile プロファイル
どちらのアクセストークンプロファイルでも が発行されますが、その JWT ではトークン形式が異なります。どちらのアクセストークンプロファイルでも、Role-Based Access Control (RBAC) を有効にし、アクセストークンに permissions クレームを追加できます。 API のアクセストークンプロファイルを設定するには、Configure Access Token Profile を参照してください。

Auth0 プロファイルのサンプル トークン

{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "azp": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "scope": "openid profile read:patients read:admin",
  "my_custom_claim": "my_custom_value"
}

RFC 9068プロファイルのサンプルトークン

{
  "iss": "https://my-domain.auth0.com/",
  "sub": "auth0|123456",
  "aud": [
    "https://example.com/health-api",
    "https://my-domain.auth0.com/userinfo"
  ],
  "client_id": "my_client_id",
  "exp": 1311281970,
  "iat": 1311280970,
  "jti":"73WakrfVbNJBaAmhQtEeDv",
  "scope": "openid profile read:patients read:admin",
  "my_custom_claim": "my_custom_value"
}

トークンプロファイルの違い

Auth0プロファイルとRFC 9068プロファイルでは、異なる形式のJWTが発行されます。主な違いは次のとおりです。
  • RFC 9068プロファイルにはjtiクレームが含まれ、JWTに一意の識別子が付与されます。
  • Auth0プロファイルでは、を表すためにazpクレームを使用します。一方、RFC 9068プロファイルではclient_idクレームを使用します。
  • RFC 9068プロファイルではgtyクレームは使用されません。gtyは認証フローを表すAuth0固有のクレームです。
データRFC 9068 プロファイルAuth0 プロファイル
typeat+jwtJWT
alg署名アルゴリズム (例: RS256)署名アルゴリズム (例: RS256)

クレーム

クレーム説明RFC 9068 プロファイルに含まれるAuth0 プロファイルに含まれるクレームの例
issアクセストークンを発行する Auth0 テナントの発行者識別子。はいはいテナントのドメイン: https://tenant.auth0.com/
subsubject クレームは、そのアクセストークンがどのユーザーまたはアプリケーションに対して発行されたかを示します:
- エンドユーザーが関与する付与 (例: Authorization Code Flow) では、sub クレームは user_id です。
- Client Credentials を使用する Machine-to-Machine アプリ (エンドユーザーなし) の場合、sub クレームはそのアプリを一意に識別する値です。
はいはい* ユーザーID: auth0|6553da60a54af58e29493993
- 接尾辞付きクライアントID: awZfdIir8YFdGZWkvCejDoUb7SjTDicx@clients
audaudience クレームは、アクセストークンの想定される受信者を示します。はいはい"https://test-server/api" or [ "https://test-server/api", "https://test.local.dev.auth0.com/userinfo" ]
client_idアクセストークンを要求するアプリケーションのクライアントID。はいいいえクライアントID: K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
azpアクセストークンをリクエストするアプリケーションのクライアントID。いいえはいクライアントID: K1AUPhZq8mRi0Q0pjhkfu1D7y6KjDQja
expこの時刻以降はアクセストークンを受け入れてはならない、有効期限の時刻。はいはいエポックタイムスタンプ: 1516238022
iatアクセストークンが発行された時点のタイムスタンプ。はいはいUNIXタイムスタンプ: 1516239022
scope発行されたアクセストークンに付与されたスコープ。Scopesを参照してください。はいはい"openid profile offline_access"
jtiアクセストークンの一意の識別子。はいいいえ一意の文字列識別子: aBv9njtYfwL4xfPZyEwz9m
gtyアクセストークンを要求する際に使用されるグラントタイプclient-credentialspasswordrefresh_token の場合にのみ含まれます。いいえケースによるグラントタイプ: password, client-credentials
permissionsロールに応じて使用できる権限です。RBAC を有効化アクセストークンに権限を追加 の両方が有効な場合に含まれます。API の RBACを参照してください。ケースによるケースによる[ "create:bar", "create:foo", "read:bar", "read:foo" ]
org_id組織の ID。ユーザーが組織経由で認証された場合に追加されます。トークンと組織を参照してください。場合による場合による組織ID: org_9ybsU1dN2dKfDkBi
org_name組織名。ユーザーが組織を介して認証され、Authentication API の組織名が有効になっている場合に追加されます。詳しくは、組織名を使用するを参照してください。場合による場合による組織名: my_organization
authorization_detailsRich Authorization Requests (RAR) で使用される認可の詳細情報です。詳しくは RAR を参照してください。ケースによるケースによる{ "type": "money_transfer", "instructedAmount": {"amount": 2500, "currency": "USD"}, "destinationAccount": "xxxx9876", "beneficiary": "Hanna Herwitz" }
cnfmTLS トークン バインディングの確認用クレーム。ケースによるケースによる{"x5t#S256":"A4DtL2JmUMhAsvJj5tKyn64SqzmuXbMrJa0n761y5v0"}
カスタムクレームカスタムクレームは Actions を使って追加できます。詳しくは、カスタムクレームの作成を参照してください。ケースによるケースによる"favorite_color": "blue"