在IdentityServer4中,您可以在客户机_身份验证中使用“ *”作为请求的作用域吗?

时间:2019-05-20 15:39:55

标签: identityserver4

我想设置IdentityServer4以允许在身份验证请求期间将“ *”作为作用域传入,然后服务器将确定客户端可以访问的作用域。 是否有我可以重写/实现的IdentityServer4类可以“解析/修改”发送的范围?

1 个答案:

答案 0 :(得分:2)

根据OpenID Connect协议specification,所有authorization

  

请求必须包含openid范围值。如果openid作用域   值不存在,行为是完全不确定的。其他   范围值可能存在

但是,通过Identityserver,您可以在请求中不带范围参数的情况下调用Token端点,并获得客户端允许的所有范围。 client_credentials就是这种情况,因此您不需要任何“星号”。

如果您想执行一些“特殊魔术”,则可以研究ScopeValidator以及ICustomAuthorizeRequestValidatorICustomTokenRequestValidator的实现。最后两个是任何请求处理的主要(也是最简单的)可扩展性点。