首页 > 解决方案 > WSO2 身份服务器 - 获取角色的权限

问题描述

请参阅我们集成到服务器的此链接CustomPermissionClaimHandler,没有任何错误,但我们仍然无法获得用户的权限...我知道如何创建自定义声明请参阅此链接,如果我遵循这 2 个链接的步骤,我可以创建权限字段,如图片上所示的文本框(testClaim并且organizationID是图片中的示例)...我认为在集成后 CustomPermissionClaimHandler我会看到权限字段,如图片中的蓝线所示,但它仍然带有空文本框,如图所示在图片上用绿线。有没有办法获得权限?

在此处输入图像描述

编辑:我可以获得 JWT,包括我的自定义声明,如果我解码它,我会看到这样(如您所见,它不包含权限): 在此处输入图像描述

标签: wso2wso2is

解决方案


通过查看 JWT 响应,我可以说您已经完成了以下一项或两项操作。

  1. 配置应用程序身份验证扩展的指南中似乎有错误。

如果您已添加,

[authentication.framework.extensions]
claim_handler="com.wso2.sample.claim.handler.CustomClaimHandler"

在deployment.toml中,但是您通过构建代码使用jar,包名称不匹配。您必须使用以下配置。

[authentication.framework.extensions]
claim_handler="org.wso2.custom.claim.PermissionClaimHandler"

由于此配置问题,即使该服务已正确激活,您的自定义处理程序也可能无法执行。

  1. 如果声明处理程序处于活动状态并且作为第一步配置正确,则在将自定义声明映射到 oidc 声明/将其添加为 OIDC sope/配置服务提供商声明时,您可能会遗漏一些东西

推荐阅读