WSO2IS openid-connect:使用访问令牌进行访问控制

时间:2017-08-01 15:43:35

标签: oauth-2.0 wso2is openid-connect xacml3

我使用WSO2IS作为OIDC提供程序进行身份验证和授权。使用身份验证代码授予,我获得了访问令牌。我需要授权用户根据他们的角色访问特定服务。

我尝试使用XACML来解决这个问题,但我发现我需要在REST API XACML请求的标头中传递username64的base64编码。相反,我有什么方法可以使用access-token来授权用户根据他们的角色访问服务?

这部分授权发生在资源服务器中。我以为我可以使用内省端点基于使用范围的访问令牌来授权用户。但我不明白如何使用范围来为用户提供访问控制?

1 个答案:

答案 0 :(得分:0)

要获取具有用户可用范围的访问令牌,OAuth2客户端必须请求其关注的所有范围,并且令牌将仅包含用户有权访问的范围。请参阅How can I capture the stdout output of a child process?

是的,这很麻烦,但OAuth2主要是授权委托协议 - 它允许用户将他们的一些权利(范围)委托给客户。

或者,如果您可以根据角色决定权限,则可能会从ID令牌中获取用户角色列表。