3

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"
                }
            }

mvcクライアントでの私のConfigure方法は

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 の有効期限、アクセス トークンの有効期限、ID トークンの有効期限、認証コードの有効期限は既に設定しています。ただし、Cookie の有効期間はブラウザでセッションとして表示されます。
下の画像をご覧ください

ここに画像の説明を入力

やるべき設定がありませんか?

どんな助けでも大歓迎です。

4

0 に答える 0