2017-07-12 19 views
2

いくつかのマイクロサービスがあるとします。それぞれはKeycloak認証を使用します。我々はまた、元に基づいてロードバランサを持っています。 nginxには、外部URLとキークローキングの異なるルートがあります(例:OpenShiftではhttps://keycloak.rhel-cdk.10.1.2.2.xip.io)。しかし、内部的にはこのアドレスにはアクセスできません。また、ロードバランサのURLに依存するマイクロサービスの設定は少し変です。より適切なものは、マイクロキーサービスの内部または短いURIの内部に内部キークローン認証URLを使用することです。しかし、この場合、発行者の検証問題のためにトークンは検証されません。どのようにこれを適切かつ柔軟な方法で設定するのですか?検証を変更するためにrealmInfoUrlを単に上書きすることはできますか?クライアントベースのトークンに使用される発行者を定義できますか。Keycloak発行者の検証とマルチテナントのアプローチ

もう1つの問題は、マルチテナントシナリオをよりうまく処理する方法です。まずクライアント側では、マルチテナントに対する特別なサポートはありません。私は、異なるURL /ヘッダーを切り替えて、適切なConfig Resolverを使用してこれを手動で処理する必要があります。サーバー側では、それぞれのケースに対して適切なKeycloakDeploymentインスタンスを動的に提供する必要があります。その他の推奨事項はありますか?

答えて

1

残念ながら、Keycloakは、トークンの発行者( "iss")フィールドに基づいてトークンの検証には制限がありません。トークンを検証するために使用されるURLは、「iss」フィールドのURLと一致する必要があります。

私はその問題のためにJIRAチケットをオープンしました(それに投票!):https://issues.jboss.org/browse/KEYCLOAK-5045

関連する問題