我正在尝试使用WSO2 Identity Server 5.1.0进行OAuth / OpenID,但是我在返回我需要的声明时遇到了问题。我不确定我是否误解了这应该如何运作......
我使用默认的居民身份提供商。
此SP的此唯一配置是使用OAuth2进行入站身份验证。
当我使用openid范围获取此服务的OAuth令牌时,收到的JWT只有主题字段(在这种情况下是电子邮件地址)。我当时也希望收到所要求的索赔,即角色。
这不是这样做的方法吗?如果没有,我怎么能实现这个目标? (注意:希望仅将此保留到OAuth / OpenID)。
我非常感谢任何帮助,因为我对此非常感激。
答案 0 :(得分:2)
出于好奇。您是否添加了claims
请求参数来请求自定义声明?由于 OpenID Connect Core 1.0,5.5. Requesting Claims using the "claims" Request Parameter 如下所示:
使用
claims
参数是在标准集之外请求声明的唯一方法。
我猜您必须使用claims
请求参数。
答案 1 :(得分:2)
目前,我们在尝试检索OpenID令牌中的请求声明时发现了某些限制。
但是,您可以尝试以下方案,
所以基本上你需要选择在“http://wso2.org/oidc/claim”方言与“http://wso2.org/claims”方言之间进行映射的声明 (我建议你试试电子邮件,姓氏和国家)
确保在用户个人资料中填写了声明值。
使用授权码授予或隐含授权
通过使用WSO2 Identity Server beta包[1],您应该能够成功检索声明以及声明您设置为主题声明URI的“子”声明
[1] https://github.com/wso2/product-is/releases/tag/v5.2.0-beta
答案 2 :(得分:0)
AFAIR这是IS5.1.0产品的错误。这将在WSO2 Identity Server 5.2.0版本中修复。您可以使用IS5.2.0 beta [1]
进行测试[1] https://github.com/wso2/product-is/releases/tag/v5.2.0-beta
感谢
Isura