我想设置IdentityServer4以允许在身份验证请求期间将“ *”作为作用域传入,然后服务器将确定客户端可以访问的作用域。 是否有我可以重写/实现的IdentityServer4类可以“解析/修改”发送的范围?
答案 0 :(得分:2)
根据OpenID Connect协议specification,所有authorization
请求必须包含openid范围值。如果openid作用域 值不存在,行为是完全不确定的。其他 范围值可能存在
但是,通过Identityserver,您可以在请求中不带范围参数的情况下调用Token
端点,并获得客户端允许的所有范围。 client_credentials
就是这种情况,因此您不需要任何“星号”。
如果您想执行一些“特殊魔术”,则可以研究ScopeValidator以及ICustomAuthorizeRequestValidator和ICustomTokenRequestValidator的实现。最后两个是任何请求处理的主要(也是最简单的)可扩展性点。