2016-09-08 1 views
4

Ich habe eine Azure AD-Anwendung und eine Web App erstellt. Die Azure AD-Anwendung verwendet die AAD-Authentifizierung. Das funktioniert gut. Wenn ich zu meiner URL gehe und ich nicht authentifiziert bin, muss ich meine Zugangsdaten eingeben. Wenn ich meine Zugangsdaten eintrage, werde ich an meine Bewerbung weitergeleitet.So melden Sie sich von einer Azure-Anwendung ab?

Aber dann kommt das Problem. Wie melde ich mich ab? Ich habe this question gefunden und ich wollte Option 2 implementieren: nicht mit Code abzeichnen, aber mit Links Azure AD bietet. Der Punkt ist, ich habe keine Ahnung, wo ich das konfigurieren soll. Er sagt

einige spezifische Links hinzufügen für sich anmelden und

abzumelden Aber wo? Wo in Azure und in welchem ​​Portal (neu oder alt) kann ich das konfigurieren? Er stellte auch eine Verbindung mit einer Probe zur Verfügung, aber ich verstehe dieses Beispiel nicht (ich bin neu bei Azure).

Antwort

4

Sie können einen Abmelde-URI in Ihrer Anwendung erstellen. Wenn der Benutzer auf den Link oder die Schaltfläche Logout klickt, leiten Sie Ihre Benutzer zu diesem URI um.

Das Format eines Zeichen aus URI ist:

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

Wo {0} ist der Mieter Id oder der Azure AD-Name (something.onmicrosoft.com) und {1} der Link zu Ihrer Anwendung ist, wo ein Benutzer weitergeleitet wird zurück nach Der Abmeldungsvorgang ist am Azure AD-Ende abgeschlossen.

+0

Ich fand, dass, wenn ich/Logout .auth, es mir überall abmeldet, so dass .auth/me? Provider = AAD nicht mehr funktioniert. – tofutim

1

könnten Sie den URI verwenden

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

als @Gaurav vorgeschlagen. Aber das löscht die Browser-Cookies nicht. Sie haben die Cookies von Ihrem Request-Objekt explizit löschen:

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

Aber es gibt auch ein Problem mit diesem, dass Azure AD die Cookies für einige Zeitintervall-Caches so dass jede Anfrage mit dem gleichen Cookie von einer anderen Quelle gesendet konnte erfolgreich von Azure AD authentifiziert werden. Ich versuche immer noch herauszufinden, wie ich das angehen soll.

Hoffe, das hilft. Danke

4

Ich fand schließlich, warum ich das zur Verfügung gestellte Beispiel nicht zum Arbeiten bekommen konnte, das ich in meinem Anfangsbeitrag erwähnte: die Einstellung WEBSITE_AUTH_LOGOUT_PATH ist veraltet und Sie können jetzt /.auth/logout anrufen, um sich abzumelden.

es Gefunden auf this page

+0

Ich vermute, dass Sie die Browser-Cookies möglicherweise noch löschen müssen. Für mich leitet es sich auf meine Homepage um, meldet sich aber erfolgreich an. –

+3

Die Umleitung zu /.auth/logout löscht auch automatisch die Sitzungscookies. Wenn Sie nach dem Abmelden auf eine benutzerdefinierte Seite umleiten möchten, können Sie etwas wie /.auth/logout?post_logout_redirect_uri=/mylogoutpage.html verwenden (ersetzen Sie /mylogoutpage.html durch einen beliebigen Pfad). –

+0

@ChrisGillum Vielen Dank für die benutzerdefinierte 'nach der Abmeldeseite'. Wusste das nicht. Aber wo hast du diese Info gefunden? Wo ist das dokumentiert? – Martijn

Verwandte Themen