2017-10-16 5 views
0

Wenn das ASP.NET-Sitzungszeitlimit 20 Minuten beträgt (gleitend), wie wirkt sich die Lebensdauer des ID-Tokens und die Lebensdauer der Web App-Sitzung aus?ASP.NET-Sitzungszeitlimit im Vergleich zum ID-Tokenablauf

Die ID-Token-Lebensdauer scheint absolut (Standardeinstellung 60 Minuten). Was passiert, wenn es abläuft, ist eine neue Authentifizierung ausgelöst bei der nächsten Anfrage oder passiert es nur, wenn sowohl das ID-Token und ASP.NET-Sitzung abgelaufen sind?

Die Lebensdauer der Web App-Sitzung kann sowohl absolut als auch rollend sein (Standardeinstellung 1440 Minuten). Rollt es in Bezug auf B2C oder die ASP.NET-Anwendung? Wie ist die Beziehung zwischen der ID-Token-Lebensdauer und der Lebensdauer der Web App-Sitzung? Mein Verständnis ist, wenn das ID-Token abgelaufen ist, wenn die Web-App-Sitzung nicht abgelaufen ist, muss der Benutzer seine Anmeldeinformationen nicht erneut eingeben, ich bin richtig?

Antwort

0

Ich werde damit beginnen, einige Schlüsselszenariounterschiede zwischen einigen der unten erwähnten Konzepte zu erklären.

ID-Token: Wie Sie erwähnt haben, ID-Token Leben sind „absolute“ - während Sie die Lebensdauer der neu erstellten ID-Token im Admin-Portal konfigurieren können, wenn ein ID-Token erstellt wird, gibt es keine Möglichkeit, um die Lebensdauer eines vorhandenen Tokens zu verlängern. Wenn Sie das ID-Token an einen Endpunkt in Ihrem Dienst senden und der Dienst festgestellt hat, dass das Token abgelaufen ist, muss der Client ein neues ID-Token von B2C erwerben.

B2C Lebensdauer der Webanwendungssitzung: Je nachdem, wie dies für Ihre Richtlinie konfiguriert ist, bestimmt die Lebensdauer der B2C-Webanwendungssitzung, ob eine neue Autorisierung an den/authorize-Endpunkt gesendet werden kann, ohne dass der Benutzer mit der Benutzeroberfläche interagieren muss. Beachten Sie jedoch, dass eine Umleitung immer noch stattfindet. Im Allgemeinen führt dies zu einer Umleitung der Web-App des Kunden auf den Endpoint von B2C/authorize, gefolgt von einer sofortigen Umleitung zurück zur Web-App des Kunden mit einem neu geprägten ID-Token (mit einer neuen/vollen ID-Token-Laufzeit). . Optisch kann dies wie ein "Bildschirmflimmern" aussehen, da der Browser schnell weg und wieder zurück geleitet wird. Wenn in diesem Fall der Typ "Rolling" für die Lebensdauer der Web-App-Sitzung ausgewählt wurde, kann diese nicht interaktive Web-App-Sitzung für ein neues (standardmäßig 1440-minütiges) Fenster verwendet werden, während bei Auswahl von "Absolut" Das Zeitlimit basiert immer noch auf dem Zeitpunkt, zu dem zuletzt eine vollständig interaktive Websitzung durchgeführt wurde.

Wie ich bereits erwähnt habe, bin ich mir selbst nicht sehr vertraut mit der Funktionsweise von ASP.NET-Sitzungen, aber die "rollende" Webanwendung, auf die sich das Verwaltungsportal bezieht, ist für B2C, nicht für ASP.NET (wir haben keine speziellen Interaktion mit ASP.NET). Meine Vermutung ist, dass die ASP.NET-Schicht eine zusätzliche Schicht über dem ist, was ich hier beschrieben habe. Vermutlich steuert die ASP.NET-Sitzung, wie oft ID-Tokens vom Dienst angefordert und verifiziert werden, aber Sie möchten dies möglicherweise speziell beim ASP.NET-Team verfolgen.

Ein anderes Szenario, das unten in Bezug auf stille Wiederaufnahme nicht erwähnt wird, ist "Aktualisierungstoken". Refresh Token Einlösung ist wirklich leise (dh kein Bildschirm Flicker) und kann eine bevorzugte Lösung auf der Grundlage Ihrer Einrichtung sein. Wenn Sie eine Einseitenanwendung (auch "SPA" genannt) verwenden, stehen Ihnen auch andere Optionen zur Verfügung.

Weitere Informationen finden Sie hier: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-apps

Verwandte Themen