我需要在wso2 api经理中获取用户的个人资料,我该怎么做? 到目前为止,我已经完成了获取访问令牌,刷新令牌和撤销令牌:
https://localhost:9443/oauth2/token --> access and refresh token
https://localhost:9443/oauth2/revoke --> revoke token
感谢您的帮助。
答案 0 :(得分:0)
如果您将openid定义为范围之一,那么您将能够使用userinfo端点来获取用户相关信息。
生成范围为openid的令牌
curl -k -d "grant_type=password&username=admin&password=admin&scope=openid" -H "Authorization: Basic NzhfQURZNGdBMWJ6djd0ZVc0Zk11VkpMM0xVYTpQWE55RmZ1ZjlmbkVhUW9NYksyaUxjTFE1dndh" https://localhost:9443/oauth2/token
使用该令牌来请求userinfo
curl -k -H "Authorization: Bearer 14e78b764c91a1f18b5566ddbd88c5ff" https://localhost:9443/oauth2/userinfo?schema=openid
默认情况下,响应只包含子值。 { “子”: “admin@carbon.super”}
您可以通过在API Manager中的服务提供应用程序中配置声明来定义应发送的参数
登录碳管理控制台并选择服务提供商应用程序
根据索赔配置,您可以将“电子邮件”,“姓氏”以及您需要的任何其他声明设置为“请求的声明”
ex: http://wso2.org/claims/emailaddress for email
配置完成后,您会得到以前的请求以下的响应
{"sub":"admin@carbon.super","family_name":"adhikarinayake","email":"chamilaa@wso2.com"}