Я пытаюсь настроить скользящий файл cookie с истечением срока действия в Asp.Net.Я ожидаю, что файл cookie появится в диспетчере файлов cookie инструментов разработчика Google Chrome с истечением срока действия через 5 минут после проверки подлинности, но он отображается как «Сеанс» и никогда не истекает до тех пор, пока не будет нажата кнопка выхода.Он исчезнет, если браузер будет закрыт.
Ниже приведен код в его нынешнем виде.На веб-сайте используется аутентификация Single-Sign-On на основе Saml с пакетом Kentor.AuthServices
nuget (теперь он известен как SustainSys.Saml2
, мы отстаем в версиях).
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/signin"),
CookieSecure = CookieSecureOption.SameAsRequest,
ExpireTimeSpan = TimeSpan.FromMinutes(5),
SlidingExpiration = true,
Provider = new CookieAuthenticationProvider
{
OnApplyRedirect = ctx => { },
OnResponseSignIn = context =>
{
context.Properties.AllowRefresh = true;
context.Properties.ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(5);
}
}
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
Kentor.AuthServices.Configuration.Options.GlobalEnableSha256XmlSignatures();
Блок OnResponseSignIn
был недавно добавлен на основена этот ответ MSDN: https://forums.asp.net/t/2121970.aspx?OWIN+Authentication+ExpireTimeSpan+not+working
Я хочу, чтобы срок действия файлов cookie истек через 30 минут бездействия.Приведенный выше код установлен на 5 для простоты тестирования.