8.4. OIDC トークンおよび SAML アサーションマッピング
ID トークン、アクセストークン、または SAML アサーションを受信するアプリケーションは、異なるユーザーメタデータおよびロールを必要とする場合があります。Red Hat Single Sign-On を使用すると、転送するものを正確に定義できます。ロール、要求、およびカスタム属性をハードコーディングできます。ユーザーメタデータをトークンまたはアサーションにプルできます。ロールの名前を変更できます。基本的には、クライアントに戻ることを正確に制御している多くのコントロールがあります。
管理コンソール内で、登録したアプリケーションを選択すると、マッパー
タブが表示されます。以下は、OIDC ベースのクライアント用です。
マッパータブ
新しいクライアントにはビルトインマッパーがありませんが、クライアントスコープセクション で説明されているように、通常はクライアントスコープから一部のマッパーを継承します。プロトコルマッパーは、たとえばメールアドレスをアイデンティティーおよびアクセストークンの特定の要求にマップします。これらの関数は、それぞれの関数を名前に含める必要があります。Add Builtin
ボタンをクリックして、追加可能なクライアントに割り当てられていない追加の事前設定されたマッパーがあります。
各マッパーには共通する設定と、追加するマッパーのタイプに応じて追加の設定があります。リスト内のマッパーの 1 つの横にある Edit
ボタンをクリックして config 画面に移動します。
マッパーの設定
設定オプションについて学ぶ最適な方法として、ツールチップの上にマウスをかざすことができます。
ほとんどの OIDC マッパーにより、要求を配置する場所を制御できます。Add to ID token
および Add to access token
スイッチを使用すると、id と access トークンの両方から要求を組み込むか、または除外することができます。
最後に、他のマッパータイプを追加することもできます。Mappers
タブに戻る場合は、Create
ボタンをクリックします。
マッパーの追加
リストボックスから Mapper Type
を選択します。ツールチップにマウスをかざすと、マッパーのタイプの動作が表示されます。マッパータイプごとに異なる設定パラメーターが表示されます。
8.4.1. 優先順位
マッパー実装には優先順位があります。この優先順位はマッパーの設定プロパティーではなく、マッパーの具体実装のプロパティーになります。
マッパーは、マッパーのリストの順序で並び替え、トークンまたはアサーションの変更は、最初に適用される順を使用して適用されます。つまり、他の実装に依存する実装は、必要な順序で処理されます。
たとえば、まずトークンに含まれるロールを計算する場合は、まずそれらのロールに基づいてオーディエンスを解決します。次に、トークンにすでに利用可能なロールおよびオーディエンスを使用する JavaScript スクリプトを処理します。