Identityserver4 中的 AllowedGrantTypes 差异(在实践中)

Posted

技术标签:

【中文标题】Identityserver4 中的 AllowedGrantTypes 差异(在实践中)【英文标题】:AllowedGrantTypes difference in Identityserver4 (in practice) 【发布时间】:2022-01-22 18:52:48 【问题描述】:

我阅读了IdentityServer4 Documantaion 的各种GrantType。 但它无法回答这个问题:“我应该为我的项目选择哪个 AllowedGrantType?” .谁能解释一下每个 GrantType 的实际用法?

其他信息:

在我的场景中,我有一个带有 IdentityServer4 的登录应用程序(我们称之为 login-app),它负责用户的登录和三个 ASP .Net Core 使用它来验证用户的应用程序。 当用户通过 app1 进行身份验证时,我希望用户不需要从 app2 或 app3 进行身份验证和登录。 如果它从三个应用程序之一注销,它会注销另外两个。 我应该在 identityserver4 的配置中使用哪个 AllowedGrantType

【问题讨论】:

【参考方案1】:

允许的授权类型定义客户端应用程序可用于验证自身/用户身份的 OAuth/OpenID Connect 流。

如果您的应用程序是后端 ASP.NET Core 应用程序,授权代码授权类型/流最有意义。

在您的情况下,单点登录/单点注销应该可以正常使用此流程。

【讨论】:

以上是关于Identityserver4 中的 AllowedGrantTypes 差异(在实践中)的主要内容,如果未能解决你的问题,请参考以下文章

Blazor 客户端中的 Identityserver4 未授权 api

identityServer4 中的概念(Scope,claim)

是否可以将 IdentityServer4 中的用户注销为其他用户?

刷新 IdentityServer4 客户端中的访问令牌

如何解决 IdentityServer4 中的循环 - 连接/授权/回调?client_id=?

如果用户从 IdentityServer4 中的另一个浏览器/设备登录,如何检测并从应用程序中注销用户?