2017-11-18 2 views
0

Ich habe ein JWT-Token, das vom Client generiert und im Sitzungsspeicher gespeichert wird. Es wird an ASP.NET WebApi-Endpunkte übergeben, die mit dem Autorize-Attribut versehen sind. Wenn sich ein Benutzer von meiner Anwendung abmeldet, kann ich das Token löschen und den Benutzer aus Azure abmelden.Azure SSO JWT-Token ist nach dem Abmelden weiterhin gültig

Wenn der Benutzer jedoch zu einer anderen Azure-Site wechselt und sich abmeldet, bleibt das in meiner Anwendung verwendete Token gültig (obwohl der Benutzer abgemeldet ist). Wie kann ich WebApi zwingen, zu Azure zurückzurufen und die Gültigkeitsprüfung erneut durchzuführen Token bei jeder Anfrage?

Danke,

Joe

Antwort

0

Azure AD JWT Zugriffstoken sind selbst unterzeichnet und die Nutzlast enthält die exp Zeitstempel, Datumzeit bis zu dem das Token gültig ist. Die vertrauende Parteianwendung kommuniziert nicht mit Azure AD, um das Token zu validieren, stattdessen verwendet sie die selbstsignierte Information.
Die einzige Möglichkeit, abzumelden, wie Sie erwähnen, ist das Token zu löschen.

Wenn Sie von Azure AD SSO ausloggen Sie nur log der Möglichkeit aus, neue Zugriffstoken zu erstellen, aber bereits ausgegebenen Zugriffstoken wird fortgesetzt, bis sie zur Arbeit ab.
Versuchen Sie, sich von Azure AD SSO abzumelden, aber behalten Sie das Zugriffstoken für Ihre Anwendung bei: Sie können weiterhin darauf zugreifen.

Wenn Sie also aus beiden Anwendungen abmelden möchten, müssen Sie Zugriffstoken für beide Anwendungen löschen.

+0

Danke für die Antwort. Also, wenn ich auf einem Tab zu etwas wie Microsoft Online gehe, gehe ich in einem zweiten Tab zum azurblauen Portal. Dann melde ich mich bei microsoftonline ab und drücke auf "Aktualisieren" im Azure-Portal. Ich werde sofort vom Azure-Portal abgemeldet. Setzen sie nur einen sehr kurzen Token-Ablauf und halten die Token erneut an? – JoeS

+0

Sie implementieren wahrscheinlich Single Sign Out, wie in diesem Beispiel beschrieben: https://github.com/Azure-Samples/active-directory-dotnet-web-single-sign-out. Eine App kann überprüfen, ob die AAD-Sitzung aktiv ist, indem sie die Techniken dort verwendet. – juunas

Verwandte Themen