从发现文档 [IS4] 中删除不受支持的授权类型
Remove unsupported grant types from discovery document [IS4]
我们正在对我们的 OAuth(基于 Identity Server 4)服务器进行尽职调查,我注意到一些奇怪的事情。我们有几个客户端设置,它们都使用授权流程或设备流程,有些使用离线访问(刷新令牌),仅此而已。然而,发现文档列出了额外的授权类型:
"grant_types_supported": [
"authorization_code",
"client_credentials",
"refresh_token",
"implicit",
"urn:ietf:params:oauth:grant-type:device_code"
],
我知道如果客户端本身不允许,IS4 将不允许隐式流,但是为了清洁和正确,如果可能的话,我想只列出实际支持的授权类型。我什至不确定 implicit
和 client_credentials
来自哪里,我似乎也无法在 IdentityServerOptions
中找到与此相关的任何内容
您无法编辑默认类型,因为它们是 DiscoveryResponseGenerator 中的 hard-coded。
但您可以实现自己的 IDiscoveryResponseGenerator 并在 DI 中替换它。
另一个选项是从发现文档中隐藏所有授权类型。
使用 Discovery.ShowGrantTypes
属性 of IdentityServerOptions
class.
我们正在对我们的 OAuth(基于 Identity Server 4)服务器进行尽职调查,我注意到一些奇怪的事情。我们有几个客户端设置,它们都使用授权流程或设备流程,有些使用离线访问(刷新令牌),仅此而已。然而,发现文档列出了额外的授权类型:
"grant_types_supported": [
"authorization_code",
"client_credentials",
"refresh_token",
"implicit",
"urn:ietf:params:oauth:grant-type:device_code"
],
我知道如果客户端本身不允许,IS4 将不允许隐式流,但是为了清洁和正确,如果可能的话,我想只列出实际支持的授权类型。我什至不确定 implicit
和 client_credentials
来自哪里,我似乎也无法在 IdentityServerOptions
您无法编辑默认类型,因为它们是 DiscoveryResponseGenerator 中的 hard-coded。
但您可以实现自己的 IDiscoveryResponseGenerator 并在 DI 中替换它。
另一个选项是从发现文档中隐藏所有授权类型。
使用 Discovery.ShowGrantTypes
属性 of IdentityServerOptions
class.