在Identity Server 4中设置令牌验证期

时间:2016-10-30 22:35:11

标签: identityserver4

在Identity Server 4中设置令牌验证期的机制是什么?不同令牌的验证期可能会有所不同吗?

http://docs.identityserver.io/en/dev/上的Identity Server 4文档显示了一个带有属性max_age的AuthorizationEndpoint,这是我认为我想要的,但文档并没有真正显示它与IdentityServerWithAspNetIdentity的快速入门代码交互操作。 / p>

2 个答案:

答案 0 :(得分:3)

我在IdentityServerWithAspNetIdentity的Config.cs中修改了Client对象

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

                RequireConsent = false,

                ClientSecrets = 
                {
                    new Secret("LynxJournal".Sha256())
                },

                //RedirectUris = { "http://localhost:5002/signin-oidc" },
                //PostLogoutRedirectUris = { "http://localhost:5002" },
                RedirectUris = { serverConfig["MvcClientUrl"]  + "/signin-oidc" },
                PostLogoutRedirectUris = { serverConfig["MvcClientUrl"] },

                IdentityTokenLifetime = 3600,
                AccessTokenLifetime = 3600,
                AuthorizationCodeLifetime = 3600,

                AllowedScopes =
                {
                    StandardScopes.OpenId.Name,
                    StandardScopes.Profile.Name,
                    StandardScopes.OfflineAccess.Name,
                    "api1"
                }
            }

这会将令牌的生命周期延长到一小时,而默认值似乎大约需要15-20分钟。我添加了IdentityTokenLifetime,AccessTokenLifetime和AuthorizationCodeLifetime

的值

答案 1 :(得分:2)

每个客户端应用程序设置令牌生存期。这包括身份和访问令牌。请参阅client application entity

如果您正在讨论会话长度,则在使用IdentityServer成功验证后,每个应用程序都会设置此值。