外部サービスを経由してエンリッチKeycloakトークンへの適切な方法

ハンス:

サービス・プロバイダ・インタフェース(SPI)を介して、たとえば - - 情報を発行したJWTトークンを豊かにするために別のサービスから取得したが、他のサービスへのユーザーの資格チェックを委任することなく、Keycloakを延長する適切な方法は何ですか?

シリルDangerville:

あなたは、作成-どのようなKeycloakのドキュメントを -と呼ん議定書マッパー彼らはあなたがに行くことによって見つけることができ、それらの様々な種類がありClients > your_client > Mappers、メニューとを作成してみてください。ほかに、あなたはあなたが、トークントークンまたはアクセスIDを豊かにしたいJWTトークンを選択できることを確認できます。あなたのケースでは、あなたが他のサービスから情報を取得するマッパーのロジック十分にカスタマイズする必要があります。(少なくとも私の知る限りとして)ことができマッパーの2種類があります。

  1. スクリプトマッパーは:あなたはJavaScriptでカスタムマッパーをコーディングすることができますので、あなたは、サービスコールを実装し、JavaScriptでトークン請求に結果を追加することができます。参照してくださいStackOverflowの上の例、およびマッパーのソースコードをより多くの情報のため。これは、いくつかの制限があり、例えば、適切に複数値の主張をサポートしていません

  2. Javaで直接マッパーを実装:フルflexibiliyが、より多くの作業(Javaインタフェースを実装しますAbstractOIDCProtocolMapper)。参照してくださいグループメンバーシップのために、このカスタムKeycloak議定書マッパーをインスタンス。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=203363&siteId=1