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% 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.
Tags und Links owin office365 azure-active-directory openid-connect adal