如何在oauth 2 token中获取用户名?

v2g6jxz6  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(115)

我试图从oauth2令牌获取用户属性,使用登录微软请求,但我只是得到令牌索赔的电子邮件。有没有办法得到令牌索赔的用户名?
这是完整的请求:

ckocjqey

ckocjqey1#

在我的例子中,我在B2C租户中创建了一个名为username自定义属性,如下所示:


的数据
在您的注册和登录流程中,请确保在运行之前包含**username**属性:



新用户注册时,会要求用户重新输入用户名,如下所示:



在使用ROPC流生成token之前,请确保在Application claim中包含**username**,如下所示:



现在,我通过Postman生成了access token,参数如下:

POST https://<b2ctenant_name>.b2clogin.com/b2ctenant.onmicrosoft.com/B2C_1_ROPC_Auth/oauth2/v2.0/token
grant_type:password
client_id: appId
scope:openid <appId> offline_access
username: <username>
password:xxxxxxx

字符串

回复:



当我在jwt.ms网站上解码这个token时,我成功地在token声明中获得了username,如下所示:


参考:

How to get the signin-name(username) as a claims after login - Microsoft Q&A by AmanpreetSingh-MSFT

相关问题