Microsoft.Owin.Security.OpenIdConnect mit Gültigkeitsdauer des Azure Active Directory-Authentifizierungstickets

9

Ich erstelle eine Multi-Tenant-Webanwendung, die Office 365-Dienste mithilfe von Microsoft.Owin.Security.OpenIdConnect, Version = 3.0.0.0 und Azure Active Directory mit Microsoft.IdentityModel.Clients verbindet .ActiveDirectory, Version = 2.19.0.0 nach diesem Beispiel .

Unser Web-App-Client (User-Agent) wird auf unserem Server mit einem asp.NET-Cookie authentifiziert, während die Authentifizierung zwischen unserem Server und dem Authority-Server (hier Azure AD) mit OpenID Authorization Code Flow erfolgt.

Wir haben für den Asp.NET-Cookie ein 30-tägiges gleitendes Ablaufdatum für seine Lebensdauer festgelegt. Allerdings haben wir immer noch ein kurzlebiges AuthenticationTicket vom Authority Server, auch wenn UseTokenLifetime = true gesetzt wurde, was der Lebensdauer der beiden Authentifizierungsmechanismen entsprechen soll.

Das Problem, das wir haben, ist: Unsere Endbenutzer müssen sich häufig neu anmelden (weniger als eine Stunde). Die Frage ist dann, Wie erhöhen / ändern wir die Lebensdauer des Authentifizierungstickets in dieser owin openidconnect Middleware?

BEMERKUNG: Ich habe auch eine Frage gestellt Verwendung von Refresh-Tokens mit ADAL. Nach dem, was wir verstanden haben, bezieht sich dieses Problem nur auf die Authentifizierung. Die Lebensdauern von access_token und refresh_token , bei denen es sich um ein Autorisierungsinteresse handelt, das vom ActiveDirectory-Client verwaltet wird, sind unabhängig von diesem Problem. Korrigiere mich, wenn ich falsch liege.

Startup.Auth.cs

%Vor%

Konto-Controller

%Vor%     
Benoit Patra 26.01.2016, 15:00
quelle

1 Antwort

4

Eigentlich, Ich musste UseTokenLifetime = false einstellen. Tatsächlich ändert UseTokenLifetime = true das interne Ticket im Asp.NET-Cookie in die Standardlebensdauer von access_token , was eine Stunde entspricht. Die Kommentare von @Tratcher waren zwar wahr, aber irreführend ... Ja, die access_token -Lebensdauer wird von Azure AD gesteuert und ich kann nichts dagegen tun. Wir haben jedoch das refresh_token -Management mit ADAL.NET implementiert, so dass die Möglichkeit besteht, die Authentifizierung / Autorisierung mit dem Microsoft Identity Server für mehr als eine Stunde zu behalten. Setzen Sie UseTokenLifetTime = false und verwenden Sie die Cookie-Authentifizierung mit einer gleitenden Ablaufzeit von 15 Tagen zwischen meiner Client-App und meinem Server, die jetzt wie ein Zauber wirkt.

    
Benoit Patra 05.03.2016, 13:36
quelle