現在、Keycloak Springアダプタを使用してSpringブート1.4とKeycloak 2.5.0(openid-connectサービスとして設定)を使用したマイクロサービスアプリケーションを開発中です。スプリングブートアダプター)。当社microservicesのSpringブートでkeycloakを別のコンテキストルートとリバースプロキシを使用して統合する方法
すべてのロードバランサとアプリケーションがコンテキストルートの背後にある既存のドメインでホストされるように、追加のリバースプロキシの背後に置かれます(そのため、当社のアプリケーションのルートはhttp://foo.bar/foobar/あり、残りのサービスはhttp://foo.bar/foobar/rest/をしています)。
は、我々は、この特定のシナリオでKeycloakでの問題のカップルに直面している:
- Keycloak前方/ SSO /ログインにサインインが必要な場合。 http://foo.bar/sso/loginが存在しないため、これは私たちのケースでは望ましくない動作です。私はフォワードを変更する方法を見つけましたが、Keycloakに同じURLを聞かせる方法はありません。私たちはこの場合404に終わります。
- サインインした後、Keycloakは/ sso/login URLに正しいトークンでリダイレクトしますが、同じサーバーでない場合はリクエストが失敗し、http://foo.bar/にリダイレクトされます。すべてのマイクロサービスは/ sso/loginを公開しているので、これはまったく別のサーバーになる可能性があります。
- keycloakが同じドメインでホストされていると、リダイレクトループが発生します。 Keycloakを同じドメインとコンテキストルートhttp://foo.bar/foobar/auth/でホストしたいと考えています。
すでに"token-store": "cookie"
を試してみましたが、これで問題は解決しませんでした。
これらの問題を解決する方法はありますか、Keycloakはユースケースの正しい解決策ではないかもしれませんか?
アップデート2017年5月5日は:答え私たちは今までので、私は簡単に私たちが何をしたかを説明しますKeycloakで実行されている
もう一度認証を受けると、直接サーバーにリダイレクトされるhttp://foo.bar/foobar/rest/serviceに行くhttp:// localhost:8080/rest/service –
私は同じ問題に直面しており、同様の設定を使って解決しました。あなたの解決策を回答として追加し、この質問を解決済みとしてチェックできますか?これを読んだ次の人のために何をすべきか分かりやすいでしょう。 – Ruben
さて、答えに移動しました。あなたのソリューションが何とか違っていたら、それを指定することもできますか? –