Внешний cookie-файл ASP.Net с истечением скользящего срока, отображаемый как cookie-файл сеанса

Я пытаюсь настроить скользящий файл cookie истечения срока действия в Asp.Net. Я ожидаю, что файл cookie появится в диспетчере файлов cookie инструментов разработчика Google Chrome со сроком действия 5 минут после аутентификации, но он отображается как "Сеанс" и никогда не истекает до тех пор, пока не будет нажата кнопка выхода. Это действительно уходит, если браузер закрыт.

Файлы cookie всегда устанавливаются как сеансовые файлы cookie

Ниже приведен код в его нынешнем виде. Веб-сайт использует аутентификацию единого входа на основе 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 для простоты тестирования.

0 ответов

Как указано в этом комментарии "Информация об истечении срока хранения хранится в защищенном билете cookie". Время истечения должно действовать правильно, даже если вы не видите его в инструментах разработчика, поскольку оно зашифровано внутри самого файла cookie.

Другие вопросы по тегам