2017-10-05 23 views
-1

私たちはJava/JSPで実装されたWebアプリケーションを持っており、Azure ADシングルサインオン認証はOpenID connect protocalを使って実装されています。サインインアプローチは期待どおりに機能していますが、大きな問題はシングルアウトです。ユーザーにログアウトする際には、以下のアプローチに従っています。OpenID connect Azureでのサインアウトリクエスト

1)ユーザがサインアウトボタンをクリックします。 2)彼はアプリケーションアプリケーションのサインアウトページにリダイレクトされます。 3)サインアウトページでアプリケーションセッションをクリアします。 4)次にユーザーをAzure ADログアウトページにリダイレクトします。下のURLを参照してください...

https://login.microsoftonline.com/common/oauth2/v2.0/logout? はpost_logout_redirect_uri = our_application_sign_out_success_page上記のアプローチが期待通りに働いているが、問題は、もしユーザーのコピーと、ユーザーが別のブラウザタブで有効なセッションを持っている場合、ブラウザのタブでURLの上に貼り付ける

、彼のADセッションがクリアなっています。

しかし、予想される動作は、ユーザーがsign_outボタンをクリックしたときにのみログアウトが行われることです。

答えて

1

これは予期した動作であり、サーバーは要求がアドレスバーのクリックまたはペーストから送信され、手動でナビゲートするかどうかを検出できません。そして、サーバーは、どこからの要求であるかを気にする必要はありません。

また、アイデンティティデータプロバイダとしてAzure ADを使用している他のアプリケーションがある場合、サインアウト要求は、Webアプリケーションからログアウトするときに他のアプリケーションに影響しません。また、シングルサインアウトを実装する場合は、WebアプリケーションにLogoutUrlを実装し、Azureポータルに登録する必要があります(hereを参照)

関連する問題