在当前的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
两个IdentityServer4的文档,但找不到如何设置此类选项的线索。我偶然发现了an possibly older documentation,但这似乎不是当前版本的一部分。
是否有可能在我刚错过的配置过程中明确定义受支持的授权类型?还是它是自动生成的,根本无法设置?
答案 0 :(得分:2)
我相信这些都是IdentityServer4支持的。即其功能。
您可以看到它们是如何添加的here(第223行);简短的答案是,它们基于服务器的功能/配置,而不是单个客户端。
您为每个客户端分别配置了您希望其通过ClientGrantTypes
集合启用的授予类型。
如果您使用的是内存中客户端集合,则在此处称为AllowedGrantTypes
。
另外:由于.wellknown / openid-configuration是一个开放标准概念,而不是IdentityServer概念,因此您可以看到对以上here的确认。
grant_types_supported
可选。 JSON数组,其中包含此OP支持的 OAuth 2.0授权类型值的列表。