Hej社区,
我被卡住了,我需要一些建议或指向解决方案的指针。我有一个相当简单的 Identity Server 4 设置:
我想在 10 分钟不活动后自动注销用户。在下面的示例中,我使用了 10 秒来加快测试速度。身份验证、重定向和用户强制注销按预期工作,就像使用下面的代码一样。但是,当用户空闲时间超过设定的 10 s 时,用户仍处于登录状态,不会重定向到 IDS 主机上的登录页面。
MVC 客户端使用 Hybrid Grant 设置为:
客户定义
var mvcClient = new Client
{
ClientId = "account-mvc",
ClientName = "Account MVC",
ClientUri = "https://localhost:5002",
AllowedGrantTypes = GrantTypes.Hybrid,
ClientSecrets = { new Secret("secret".Sha256()) },
EnableLocalLogin = true,
RequireConsent = false,
AllowOfflineAccess = false,
AccessTokenLifetime = 10, // 10 s by intention
IdentityTokenLifetime = 10, // 10 s by …Run Code Online (Sandbox Code Playgroud) 在当前的 ASP.NET Core 项目 ( v2.1.6) 中,Identity Server 4 ( v2.2.0) 是为用户和 API 身份验证而实现的,它的工作原理非常棒。唯一grant_type被设置为客户端是client-credentials和scopes被设置到一些自定义范围offline_access是不容许。
访问后.well-known/openid-configuration发现支持的范围grant_types比指定的多,offline_access即使它被禁用(为简洁起见缩短)也是支持的范围:
{
"scopes_supported": [
"custom_scope_1",
"custom_scope_2",
"offline_access"
],
"grant_types_supported": [
"authorization_code",
"client_credentials",
"refresh_token",
"implicit",
"password"
],
}
Run Code Online (Sandbox Code Playgroud)
IdentityServer4的文档但找不到如何设置这样一个选项的线索。我偶然发现了一个可能较旧的文档,但这似乎不是当前版本的一部分。
是否有可能在我刚刚错过的配置期间明确定义支持的授权类型?还是自动生成的,根本无法设置?