Внешние файлы cookie ASP.Net с истечением времени скольжения отображаются как файлы cookie сеанса - PullRequest
0 голосов
/ 06 октября 2018

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

Cookies are always set as Session Cookies

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

1 Ответ

0 голосов
/ 19 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...