sto usando ASP .NET core RC1 Facebook-autenticazione e silding finestra scadenza del cookie impostato in questo modo:ASP .NET di autenticazione Nucleo Cookie cambiamenti di scadenza dal timestamp a "sessione" su ritorno
app.UseIdentity();
app.UseFacebookAuthentication();
e
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();
Questo funziona correttamente quando l'utente accede per la prima volta - la scadenza del cookie è impostata correttamente. Tuttavia, quando l'utente torna alla pagina, la scadenza del cookie è impostata su "Sessione", quindi in pratica l'utente deve eseguire nuovamente l'autenticazione ogni altra visita.
Perché sta succedendo? Non l'ho configurato correttamente?
Aggiornamento: Ora ho eseguito alcuni test senza SlidingExpiration e il problema rimane lo stesso. Al ritorno alla pagina, la scadenza del cookie viene modificata in "Sessione". Sto usando Chrome.
Inoltre, non sono in esecuzione su https. Questo potrebbe essere un fattore?
il cookie di Facebook è un cookie diverso, probabilmente è necessario impostarlo in modo simile al principale applicationcookie, guarda options.Cookies.External ... –
Questo ha molto senso. Ma allora perché la data di scadenza del mio cookie di autenticazione è corretta in primo luogo? Effettuo il login con Facebook ogni volta che si ottiene – severin
alla fine si ottiene un cookie dell'applicazione e dovrebbe funzionare come configurato, sto solo indovinando che potrebbe esserci qualche logica di interazione con il cookie esterno che si ottiene anche come parte del processo di Facebook quindi impostandolo con potrebbero essere necessarie impostazioni simili, sto solo sputando se fossi sicuro che avrei postato come risposta –