Как изменить постоянную готовку ie Время истечения в. Net Core 3.1 Identity Server 4 - PullRequest
0 голосов
/ 19 марта 2020

Я использую. Net Core 3.1 и Identity server 4, хотите изменить постоянное время приготовления повара ie. Для этого используйте приведенный ниже код в Startup.cs

services.ConfigureApplicationCookie(options =>
{
     options.ExpireTimeSpan = TimeSpan.FromMinutes(5);
});

. Есть флажок «Оставаться в покое», который связывается с «isPersistent». С кодом выше, если вход в систему с "isPersistent = true", то Cook ie истекает через 5 минут и может видеть это в cookie браузера enter image description here

И в случае "isPersistent = false "cook ie в браузере выглядит следующим образом: enter image description here

, но в случае" isPersistent = false "значение cook ie также истекает через 5 минут, что не должно. Я проверил refre sh страницу, она перенаправила на страницу входа.

Если этот код не используется, то isPerstent = false работает нормально. Я хочу изменить только время истечения срока действия Persistent Cook ie. Пожалуйста, помогите

1 Ответ

0 голосов
/ 24 марта 2020

Вот мое решение. Необходимо переопределить «SignInWithClaimsAsyn c», как показано ниже

public override async Task SignInWithClaimsAsync(ApplicationUser user, AuthenticationProperties authenticationProperties, System.Collections.Generic.IEnumerable<System.Security.Claims.Claim> additionalClaims)
{
    if (authenticationProperties != null && authenticationProperties.IsPersistent)
    {
        authenticationProperties.ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(30); // for 30 mins
    }

    await base.SignInWithClaimsAsync(user, authenticationProperties, additionalClaims);
}
...