アクション・トークン・ハンドラーを開始するファクトリー。オーバーライドする必要があります。実装を、このガイドのサービス・プロバイダー・インターフェイスのセクションで説明するとおりに、登録しなければならないことに注意してください。インタフェースを実装することから始まります。これを行う方法の詳細については、Javadocとサンプルを参照してください。カスタム・プロバイダーをパッケージングしてデプロイする方法についての詳細は、サービス・プロバイダー・インターフェイスの章を参照してください。SAMLロールマッピングSPIKeycloakは、SP環境に存在するロールにSAMLロールをマッピングするためのSPIを定義します。サードパーティーのIDPによって返されるロールは、SPアプリケーション用に定義されたロールに常に対応するとは限らないため、SAMLロールを異なるロールにマッピングできるメカニズムが必要です。SAMLアサーションからロールを抽出してコンテナのセキュリティー・コンテキストをセットアップした後、SAMLアダプターによって使用されます。SPIは、実行可能なマッピングに制限を課しません。実装は、ロールを他のロールにマッピングするだけでなく、ユースケースに応じてロールを追加または削除することができます(したがって、SAMLプリンシパルに割り当てられたロールのセットを増やしたり減らしたりします)。Guideを参照してください。インターフェイスを実装する必要があります。ファイルを、実装クラスも含むアーカイブに追加する必要があります。このアーカイブには次のものがあります。プロバイダー・クラスがWEB-INF/classesに含まれているSPアプリケーションWARファイル。SPアプリケーションのWARのWEB-INF/libに追加されるカスタムJARファイル。参照されるカスタムJARファイル。サブシステムで設定されたIDによって選択されます。したがって、カスタム・プロバイダーを有効にするには、アダプター設定でそのIDが適切に設定されていることを確認するだけです。ユーザー・ストレージSPIユーザー・ストレージSPIを使用して、外部ユーザー・データベースとクレデンシャル・ストアに接続するように、Keycloakの拡張機能を実装できます。Directoryのサポートは、このSPIを実際に実装したものです。設定などの作業をせず、すぐにKeycloakはローカル・データベースを使用して、ユーザーの作成、更新、検索とクレデンシャルの検証をします。多くの場合、組織はKeycloakのデータモデルに移行できない外部の独自ユーザー・データベースをすでに持っています。このような状況では、アプリケーション開発者は、ユーザー・ストレージSPIの実装をコーディングして、外部ユーザーストアと、Keycloakがユーザーのログインおよび管理に使用する内部ユーザー・オブジェクト・モデルをブリッジすることができます。Keycloakランタイムは、ユーザーがログインしているときなどの、ユーザーを検索する必要があるときに、ユーザーを特定するためいくつかの手順を実行します。ユーザーがユーザー・キャッシュに入っているかどうかを調べます。ユーザーが見つかった場合は、そのメモリー内表現を使用します。次に、Keycloakローカル・データベース内のユーザーを探します。ユーザーが見つからない場合は、ユーザー・ストレージSPIプロバイダーの実装をループして、そのうちの1つがランタイムが探しているユーザーを返すまでユーザークエリーを実行します。プロバイダーは外部ユーザーストアにユーザーを照会し、ユーザーの外部データ表現をKeycloakのユーザー・メタモデルにマップします。ユーザー・ストレージSPIプロバイダーの実装では、複雑な条件のクエリーを実行したり、ユーザーに対してCRUD操作を実行したり、クレデンシャルを検証および管理したり、一度に多くのユーザーの一括更新を実行することもできます。これは外部ストアの機能に依存します。EEコンポーネントです)。タブでレルムごとに有効にして設定する必要があります。ユーザー・プロバイダーの実装で、ユーザーのアイデンティティーをリンク/確立するためのメタデータ属性として一部のユーザー属性を使用している場合は、ユーザーが属性を編集できず、対応する属性が読み取り専用であることを確認してください。