Не удалось установить время жизни файла cookie аутентификации — IdentityServer4

#cookies #asp.net-core-1.0 #identityserver4

#файлы cookie #asp.net-core-1.0 #identityserver4

Вопрос:

Я пытаюсь установить IdentityServer4 время жизни файла cookie аутентификации. Это моя конфигурация клиента :

 // OpenID Connect hybrid flow and client credentials client (MVC)
            new Client
            {
                ClientId = "mvc",
                ClientName = "MVC Client",
                AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
                IdentityTokenLifetime = 120,
                AccessTokenLifetime = 120,
                AuthorizationCodeLifetime = 120,

                ClientSecrets = new List<Secret>
                {
                    new Secret("secret".Sha256())
                },

                RedirectUris = new List<string>
                {
                    "http://localhost:5002/signin-oidc"
                },
                PostLogoutRedirectUris = new List<string>
                {
                    "http://localhost:5002"
                },

                AllowedScopes = new List<string>
                {
                    StandardScopes.OpenId.Name,
                    StandardScopes.Profile.Name,
                    StandardScopes.OfflineAccess.Name,
                    "api1"
                }
            }
  

и мой Configure метод в клиенте mvc

 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory.AddDebug();

        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationScheme = "Cookies",
            AutomaticChallenge = true,
            ExpireTimeSpan = System.TimeSpan.FromSeconds(120),
            SlidingExpiration = false
        });

        app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
        {
            AuthenticationScheme = "oidc",
            SignInScheme = "Cookies",

            Authority = "http://localhost:5000",
            RequireHttpsMetadata = false,

            ClientId = "mvc",
            ClientSecret = "secret",

            ResponseType = "code id_token",
            Scope = { "api1", "offline_access" },

            GetClaimsFromUserInfoEndpoint = true,
            SaveTokens = true
        });

        app.UseStaticFiles();
        app.UseMvcWithDefaultRoute();
    }
  

Я использую приведенный ниже пример из примеров IdentityServer4 для изучения IdentityServer4.
IdentityServer4.Samples/Quickstarts/5_HybridFlowAuthenticationWithApiAccess

Я уже установил время истечения срока действия файла cookie, время жизни токена доступа, время жизни токена идентификации и время жизни кода авторизации. Но все же время жизни файла cookie отображается как сеанс в браузере.
Пожалуйста, смотрите Изображение ниже

введите описание изображения здесь

Я пропустил какие-либо настройки?

Любая помощь приветствуется.

Комментарии:

1. Спасибо за ваш реплей. Я попробовал оба решения в этом ответе. Но, к сожалению, это не работает. Может быть, мне следует дождаться обновления.

2. Чтобы решить источник проблемы: добавьте OnRedirectToIdentityProvider событие для промежуточного программного обеспечения openidconnect и отладьте проект. Проверьте событие, когда срок действия cookie истек. Если событие запущено, это проблема с сервером авторизации. Если нет, то это проблема клиентского приложения.

3. Или включите журнал и посмотрите, есть ли перенаправление на поставщика удостоверений (когда срок действия cookie истек).