サービス・プロバイダ・インタフェース(SPI)を介して、たとえば - - 情報を発行したJWTトークンを豊かにするために別のサービスから取得したが、他のサービスへのユーザーの資格チェックを委任することなく、Keycloakを延長する適切な方法は何ですか?
あなたは、作成-どのようなKeycloakのドキュメントを -と呼ん議定書マッパー。彼らはあなたがに行くことによって見つけることができ、それらの様々な種類がありClients > your_client > Mappers
、メニューとを作成してみてください。ほかに、あなたはあなたが、トークントークンまたはアクセスIDを豊かにしたいJWTトークンを選択できることを確認できます。あなたのケースでは、あなたが他のサービスから情報を取得するマッパーのロジック十分にカスタマイズする必要があります。(少なくとも私の知る限りとして)ことができマッパーの2種類があります。
スクリプトマッパーは:あなたはJavaScriptでカスタムマッパーをコーディングすることができますので、あなたは、サービスコールを実装し、JavaScriptでトークン請求に結果を追加することができます。参照してくださいStackOverflowの上の例、およびマッパーのソースコードをより多くの情報のため。これは、いくつかの制限があり、例えば、適切に複数値の主張をサポートしていません。
Javaで直接マッパーを実装:フルflexibiliyが、より多くの作業(Javaインタフェースを実装します
AbstractOIDCProtocolMapper
)。参照してくださいグループメンバーシップのために、このカスタムKeycloak議定書マッパーをインスタンス。