2016-09-08 8 views
4

私はAzureのADアプリケーションとWebアプリケーションを作成しました。 Azure ADアプリケーションはAAD認証を使用します。これはうまくいく。 URLにアクセスして認証されていない場合は、資格情報を入力する必要があります。資格情報を入力すると、私の申請書に転送されます。Azureアプリケーションからサインアウトするには?

しかし、問題が発生します。どうすればサインアウトできますか?私はthis questionを見つけました。私はオプション2を実装したかったのです。コードを使用してサインアウトせず、Azure ADが提供するリンクを使用しました。ポイントは、私はこれを設定する手がかりがないということです。彼は

を述べてログインし、

をログアウトするためのいくつかの特定のリンクを追加します。しかしどこ? Azureではどこのポータル(新旧)で設定できますか?彼はまた、サンプルとのリンクも提供しましたが、私はこのサンプルを理解していません(私はAzureには初めてです)。

答えて

4

アプリケーションでサインアウトURIを作成し、ユーザーがLogoutリンクまたはボタンをクリックすると、ユーザーをそのURIにリダイレクトします。

URIアウト記号の形式は次のとおりです。{0}はテナントIDまたはアズールAD名(something.onmicrosoft.com)と{1}ある

https://login.microsoftonline.com/{0}/oauth2/logout?post_logout_redirect_uri={1} 

は、ユーザが後に戻ってリダイレクトされるアプリケーションへのリンクですサインアウトプロセスは、Azure AD終了時に完了する。

+0

にそれを見つけた

私は/ログアウトを.authとき?プロバ​​イダ= AADは、もはや機能し.auth /私のように、それはどこでも私をログアウトしていないことがわかりました。 – tofutim

1

@Gauravが示唆したようにあなたはURI

https://login.microsoftonline.com/{0}/oauth2/logout?post_logout_redirect_uri={1} 

を使用することができます。しかし、これはブラウザのクッキーをクリアしません。

foreach (string cookie in HttpContext.Current.Request.Cookies.AllKeys) { HttpContext.Current.Response.Cookies[cookie].Expires=DateTime.Now.AddDays(-1);} 

しかし、すべての要求は、他のソースから同じCookieを使用して送信されたように、AzureのADはいくつかの時間間隔のためのクッキーをキャッシュこれで1つの問題もあります:あなたは、明示的にあなたのリクエストオブジェクトからクッキーを削除する必要がありますAzure ADによって正常に認証される可能性があります。私はまだこれに取り組む方法を理解しようとしています。

これが役に立ちます。ありがとう

4

私は最初の投稿で言及したように、提供された例を得ることができませんでした。最終的には、WEBSITE_AUTH_LOGOUT_PATHの設定は廃止され、ログアウトするように呼び出すことができます。 this page

+0

ブラウザのCookieを削除する必要があるかもしれないと思います。私の場合、私のホームページにリダイレクトされますが、ユーザーは正常にログインします。 –

+3

/.auth/logoutにリダイレクトすると、セッションCookieも自動的に削除されます。ログアウトが完了した後でカスタムページにリダイレクトしたい場合は、/.auth/logout?post_logout_redirect_uri=/mylogoutpage.html(/mylogoutpage.htmlを任意のパスに置き換えてください)などを使用できます。 –

+0

@ChrisGillumカスタム 'ログアウト後のページ'をありがとう。それについて知らなかった。しかし、あなたはこの情報をどこで見つけましたか?これはどこに文書化されていますか? – Martijn