web-dev-qa-db-ja.com

リダイレクトされないAzure ADログアウトURL

次のURLを作成しています

https://login.microsoftonline.com/<tenantid>/oauth2/logout?client_id=<clientId>&post_logout_redirect_uri=<encodedurl>

それは次のようになります

https://login.microsoftonline.com/f4aaf6e1-ffff-ffff-bb63-4e8ebf728113/oauth2/logout?client_id=f562b4e3-ffff-ffff-b4bb-49ca64216e75&post_logout_redirect_uri=https%3A%2F%2Fmyazureapp.azurewebsites.net

ログアウトしますが、アプリにリダイレクトされません

このURLのようにAzureの場合

https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=https%3a%2f%2fmanage.windowsazure.com%2fSignOut%2fComplete

提案された関連するQを確認し、いくつかのバリエーションを試しました。

編集断続的な問題であることが判明しました。これは、開発/テストサイクルを実行しているときに、一部のCookie /その他の状態がリセットされなかったためだと思います。新しいブラウザで動作します。正常に動作すると、ログアウト画面に「ログアウトしている間しばらくお待ちください」などのメッセージが表示され、リダイレクトされます。正常に動作しない場合は、「ログアウトしました。ブラウザを閉じてください」と表示されます。

6
Steve Drake

ADアプリケーションでLogout URLプロパティを設定します。

  1. ログイン AAD管理センターポータル
  2. 次のようにアプリの登録に移動します enter image description here
  3. ADアプリケーションを選択します
  4. プロパティに移動
  5. 目的のアプリケーションログアウトリダイレクトURLを次のように更新します enter image description here
  6. セーブ
2
juvchan

OpenIDConnectフローを使用していて、ユーザーをサインアウトしたいと思います。 Azure ADからpost_logout_redirect_uriパラメーターで指定したURLへのリダイレクトを確実にするには、アプリレジスタのReply URLsに登録する必要がありますAzureポータル。

その後、ユーザーがAzure ADに正常にサインアウトしていることを確認する必要もあります。たとえば、ユーザーをサインインした後、ユーザーをサインアウトします。今回はリダイレクトが正常に機能するはずです。次に、再度サインアウト要求を送信します。ユーザーはすでにサインアウトしているため、今回はリダイレクトは機能しません。

さらに、OpenIdConnectフローを介したclient_idへのリクエストにend_session_endpointパラメータを提供する必要はありません。このOpenIdConnectの詳細については、以下のドキュメントを参照してください。

OpenID ConnectとAzure Active Directoryを使用してWebアプリケーションへのアクセスを承認する

1
Fei Xue - MSFT

私もこの問題を抱えていましたが、私にとってうまくいったのは:

  1. プロパティにログアウトURLを追加し、返信URLも追加しました。
  2. ログアウトボタンには次のhrefがあります。
https://login.windows.net/<tenant_id_of_your_app>/oauth2/logout?post_logout_redirect_uri=<logout_URL_of_your_app>/logout
0
tnh98