我使用WSO2IS作为OIDC提供者进行身份验证和授权。使用验证码授权,我获得了访问令牌。我需要根据用户的角色授权用户访问特定的服务。
我尝试使用XACML来解决这个问题,但是我发现我需要在REST API XACML请求的头部中传递username:password的base64编码。相反,有没有什么方法可以授权用户使用access-token根据他们的角色访问服务?
这部分授权发生在资源服务器中。我认为我可以使用自省端点通过作用域根据访问令牌对用户进行授权。但是我不明白如何使用作用域来为用户提供访问控制?
发布于 2017-08-02 16:08:36
要获得一个所有作用域都对用户可用的访问令牌,OAuth2客户端必须请求它关心的所有作用域,并且令牌将只包含用户有权访问的那些作用域。参见this question。
是的,它很麻烦,但OAuth2主要是一个授权委托协议-它允许用户将他们的一些权限(作用域)委托给客户端。
或者,如果您可以根据角色决定权限,则可以从ID令牌中获取用户角色的列表。
https://stackoverflow.com/questions/45442226
复制相似问题