Ich bin mit ASP .NET Core-RC1 mit Facebook-Authentifizierung und silding Fenster Cookie Ablauf wie folgt aufgebaut:ASP .NET Core-Cookie-Authentifizierung Ablauf ändert sich von Zeitstempel "Session" bei der Rückkehr
app.UseIdentity();
app.UseFacebookAuthentication();
und
services.AddIdentity<ApplicationUser, IdentityRole>((options =>
{
options.Cookies.ApplicationCookie.CookieName = "myauthcookie";
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(5);
options.Cookies.ApplicationCookie.SlidingExpiration = true;
}))
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Dies funktioniert einwandfrei, wenn sich der Benutzer zum ersten Mal anmeldet - der Cookie-Ablauf ist korrekt eingestellt. Wenn der Benutzer jedoch zu der Seite zurückkehrt, wird der Ablauf des Cookies auf "Sitzung" gesetzt, sodass der Benutzer in der Praxis jeden zweiten Besuch erneut authentifizieren muss.
Warum passiert das? Habe ich es nicht richtig konfiguriert?
aktualisieren: Ich habe jetzt einige Tests ohne SlidingExpiration getan, und das Problem bleibt das gleiche. Nach dem Zurückkehren zu der Seite wird der Ablauf des Cookies in "Sitzung" geändert. Ich verwende Chrome.
Auch ich renne nicht auf https. Könnte das ein Faktor sein?
der Facebook-Cookie ist ein anderes Cookie, müssen Sie wahrscheinlich ähnlich wie die Hauptanwendungcookie setzen, schauen Sie sich Optionen an.Cookies.External ... –
Das macht eine Menge Sinn. Aber warum wird das Ablaufdatum meines Authentifizierungs-Cookies überhaupt richtig gesetzt? Ich melde mich jedes Mal mit Facebook an. – severin
Schließlich erhältst du einen Anwendungscookie und er sollte wie konfiguriert funktionieren. Ich vermute nur, dass es möglicherweise eine Interaktionslogik mit dem externen Cookie gibt, die du auch im Rahmen des Facebook-Prozesses erhältst ähnliche Einstellungen sind möglicherweise erforderlich, ich spucke nur, wenn ich sicher bin, dass ich als Antwort posten würde –