首页 > 解决方案 > 如何在 wso2 IS 中获取 grant_type client_credential 的角色权限或范围

问题描述

我们在 wso2 IS'Role/Permission Configuration' section中创建了一个服务提供者。在该服务提供者下,我们添加了一些自定义权限。调用是否有任何方法'oauth2/token'可以返回与该服务提供者关联的权限。目前我们正在传递范围'openid'并获取 id_token 作为响应,我们还希望 id_token 以及权限值。或者有什么方法可以为每个 service_provider 创建范围并获得“oauth2/token”响应? 注意:我们使用 grant_type='client_credentials' 来获取 id_token。

标签: wso2wso2iswso2carbon

解决方案


注意:-对于客户端凭据授予类型,我们没有任何用户身份验证,只有客户端将使用客户端 ID 和密码进行验证。因此,无法连同 id 令牌一起获得服务提供商的虎钳许可。当您使用存在用户身份验证的授权类型时,以下解决方案将很有用。

编写自定义声明处理程序并处理逻辑以在该自定义声明处理程序中分配权限值。我编写了一个示例自定义声明处理程序来检索自定义权限以及 id 令牌。您可以参考https://github.com/nilasini/CustomPermissionClaimHandler并按照自述文件说明进行操作。


推荐阅读