OIDC 接続の PKCE を設定する
Connect と Okta Workforce の接続は、Proof Key for Code Exchange (PKCE) をサポートするよう自動的に設定されています。 OIDC アイデンティティプロバイダー (IdP) が OIDC ディスカバリー メタデータを通じて PKCE をサポートしている場合、Auth0 はデフォルトで利用可能な中で最も強力なアルゴリズムを使用します。OIDC ディスカバリー メタデータの詳細については、OpenID のドキュメントを参照してください。接続のPKCE設定を表示する
特定の接続のPKCE設定は、で確認できます。- Authentication > Enterprise に移動し、OIDCプロバイダー (OpenID Connect または Okta Workforce) を選択します。
- Settings タブを選択します。
- General セクションで、Connection Profile フィールドを探します。
- Auth0 Dashboard
- Management API
接続のPKCE設定は、Auth0 Dashboard で管理できます。
- Dashboard > Authenticate >Enterprise に移動し、OIDCプロバイダー (OpenID Connect または Okta Workforce) を選択します。
- Settings タブを選択し、Connection Profile フィールドを探します。
pkceプロパティを、以下に記載されているサポートされている値のいずれかに設定します。- Save を選択します。
サポートされている PKCE の設定値
Auth0 では、PKCE の設定に次の値をサポートしています。Microsoft Entra ID の制限事項Microsoft Entra ID 用の OpenID Connect 接続を使用している場合、接続のメタデータでは使用されているハッシュアルゴリズムが公開されないため、
pkce を s256 に設定する必要があります。現在、Microsoft Entra ID エンタープライズ接続 は PKCE をサポートしていません。OIDC 接続のクレームのマッピング
OpenID Connect 接続と Okta Workforce 接続では、アイデンティティプロバイダー (IdP) から受け取ったクレームを自動的にマッピングできます。このマッピングは、Auth0 が提供するライブラリテンプレートを使用するか、独自のテンプレートを直接入力して設定できます。マッピングされたクレームは、Auth0 の ID トークンに自動的には追加されません。ID トークンにクレームを追加する方法については、Create custom claimsをお読みください。
マッピングテンプレートのプロパティ
マッピングテンプレートでは、以下のoptions.attribute_map オブジェクトのプロパティをサポートしています。テンプレートは、有効なキーと値のペアを含む JSON 形式である必要があります。
マッピングモード
mapping_mode プロパティは、IdP から受け取ったクレームを Auth0 ユーザープロファイルにマッピングする方法を定義します。mapping_mode では、次の値を使用できます。
Okta Workforce では
bind_all マッピングを使用できません。代わりに、OIDC エンタープライズ接続を使用する必要があります。詳細については、OIDC または Okta Workforce 接続で配列を String にマッピングするをお読みください。使用が制限されたクレーム
一部のクレームは Auth0 による使用のために予約されており、ユーザープロファイルの属性キーとして使用することはできません。mapping_mode プロパティを bind_all に設定すると、IdP がこれらの使用が制限されたクレームの 1 つ以上に値をマッピングしようとする場合があります。これによって接続でのユーザー認証が妨げられることはありませんが、使用が制限されたクレームに関連付けられた値は、Auth0 ユーザープロファイルにはマッピングされません。
mapping_mode を use_map に設定した場合は、受信した使用が制限されたクレームを有効なクレームにマッピングできます。
UserInfo スコープ
userinfo_scope プロパティは、Auth0 が IdP への認可リクエストに含めるスコープを定義します。これらのスコープは、IdP が UserInfo エンドポイントを通じて提供するクレームを決定します。属性マップで context.userinfo properties を参照している場合、Auth0 はこれらのスコープで付与された アクセストークン を使用して、IdP の UserInfo エンドポイントを呼び出します。
たとえば、標準の OIDC スコープと groups スコープをリクエストし、UserInfo エンドポイントからグループクレームを利用できるようにするには、次のように設定します。
属性
attributes プロパティは、Auth0 が IdP から受信するクレームを解釈できるようにするためのマッピング情報を含むオブジェクトです。マッピング情報は、キーと値のペアで指定する必要があります。
左側のキーは Auth0 ユーザープロファイルの属性に対応します。右側の値は IdP から受信するクレームを表し、リテラル値、動的コンテキストオブジェクト、またはその両方を組み合わせて指定できます。動的コンテキストオブジェクトは、${variable} という一般的な形式で記述するテンプレート式です。
リテラル値
リテラル値とは、接続内のすべてのユーザーに対して、特定のプロファイル属性にマッピングされる固定値です。 たとえば、SalesForce OIDC 接続を設定していて、同じ SFDC Community ID をすべてのユーザープロファイルに割り当てる場合は、次のようにします。コンテキストオブジェクト
context オブジェクトを使用すると、動的な値をユーザープロファイル属性にマッピングできます。これにより、すべてのプロファイルで共通の固定リテラル値ではなく、各プロファイルに固有の値を保存できます。
context オブジェクトでは、次のプロパティを使用できます。