小编mmr*_*mmr的帖子

身份服务器 4 - 空闲时注销用户

Hej社区,

我被卡住了,我需要一些建议或指向解决方案的指针。我有一个相当简单的 Identity Server 4 设置:

  1. 带有 ASP.NET 身份的身份服务器 4
  2. ASP.NET Core 2.2 MVC 客户端

我想在 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)

c# openid-connect .net-core asp.net-core identityserver4

4
推荐指数
1
解决办法
6063
查看次数

Identity Server 4 - 如何定义支持的授权类型等

在当前的 ASP.NET Core 项目 ( v2.1.6) 中,Identity Server 4 ( v2.2.0) 是为用户和 API 身份验证而实现的,它的工作原理非常棒。唯一grant_type被设置为客户端是client-credentialsscopes被设置到一些自定义范围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的文档但找不到如何设置这样一个选项的线索。我偶然发现了一个可能较旧的文档,但这似乎不是当前版本的一部分。

是否有可能在我刚刚错过的配置期间明确定义支持的授权类型?还是自动生成的,根本无法设置?

openid-connect asp.net-core identityserver4

2
推荐指数
1
解决办法
1785
查看次数