在 Identity Server 4 中设置令牌有效期
Set Token Validation Period in Identity Server 4
Identity Server 4 中设置令牌有效期的机制是什么?不同代币的验证期可以不同吗?
http://docs.identityserver.io/en/dev/ 上的 Identity Server 4 文档显示了带有 属性 max_age 的 AuthorizationEndpoint,这是我想我想要的,但文档并没有真正显示它- 使用 IdentityServerWithAspNetIdentity 的快速入门代码进行操作。
令牌生命周期是根据客户端应用程序设置的。这包括身份和访问令牌。参见 client application entity。
如果您谈论的是会话长度,这是由每个应用程序在使用 IdentityServer 成功验证后设置的。
我修改了 IdentityServerWithAspNetIdentity
的 Config.cs 中的客户端对象
// 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
的值
Identity Server 4 中设置令牌有效期的机制是什么?不同代币的验证期可以不同吗?
http://docs.identityserver.io/en/dev/ 上的 Identity Server 4 文档显示了带有 属性 max_age 的 AuthorizationEndpoint,这是我想我想要的,但文档并没有真正显示它- 使用 IdentityServerWithAspNetIdentity 的快速入门代码进行操作。
令牌生命周期是根据客户端应用程序设置的。这包括身份和访问令牌。参见 client application entity。
如果您谈论的是会话长度,这是由每个应用程序在使用 IdentityServer 成功验证后设置的。
我修改了 IdentityServerWithAspNetIdentity
的 Config.cs 中的客户端对象 // 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
的值