在Identity Server 4中设置令牌验证期的机制是什么?不同令牌的验证期可能会有所不同吗?
http://docs.identityserver.io/en/dev/上的Identity Server 4文档显示了一个带有属性max_age的AuthorizationEndpoint,这是我认为我想要的,但文档并没有真正显示它与IdentityServerWithAspNetIdentity的快速入门代码交互操作。 / p>
答案 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成功验证后,每个应用程序都会设置此值。