web-dev-qa-db-ja.com

Keycloakログアウトリクエスト

単一のhttpリクエストを介してkeycloakからログアウトする方法があるかどうかを尋ねたかったのです。

私はすでにPOST /protocol/openid-connect/logoutまたは/tokens/logout、ただし結果は常にOrigin-Problemです。

ただし、呼び出し元のオリジンはキークロークで構成されており、リクエストによるログインは機能します。

リダイレクトせずにログアウトしたり、別のウィンドウを開いたりする可能性はありますか?

よろしくお願いします! :)

9
Stack

公式ドキュメントから

複数の方法でWebアプリケーションからログアウトできます。 Java EEサーブレットコンテナの場合、HttpServletRequest.logout()を呼び出すことができます。

他のブラウザアプリケーションの場合、ブラウザをhttp://auth-server/auth/realms/{realm-name}/protocol/openid-connect/logout?redirect_uri=encodedRedirectUriにリダイレクトできます。これにより、ブラウザとのSSOセッションがある場合はログアウトされます。

アプリの正確なURL(ホスト、レルム、redirect_uri構成)を取得するには:

  • Keycloakユーザーアカウントにログインします
  • ブラウザの開発者コンソールを開きます
  • ログアウト操作を実行する
  • ログアウトのリクエストに使用されたURLを書き留めます
  • アプリケーションから同じURLを使用してログアウトを実行します
5
aName