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

问题描述 投票:0回答:1

我尝试使用登录微软请求从 oauth2 令牌获取用户属性,但我只是在令牌声明中收到电子邮件。有没有办法在令牌声明中获取用户名?

这是完整的请求:

oauth-2.0 azure-ad-b2c access-token
1个回答
1
投票

就我而言,我在 B2C 租户中创建了一个名为 username

custom
属性,如下所示:

enter image description here

在您的注册和登录流程中,请确保在运行之前包含

username
属性:

enter image description here

当新用户注册时,它会要求用户再次输入用户名,如下所示:

enter image description here

在使用 ROPC 流程生成令牌之前,请确保在 Application Claims

 中包含 
username,如下所示:

enter image description here

现在,我通过 Postman 使用以下参数生成了 访问令牌

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

回复:

enter image description here

当我在 jwt.ms 网站中解码此令牌时,我在令牌声明中成功获得了 username,如下所示:

enter image description here

参考:

如何在登录后获取登录名(用户名)作为声明 - Microsoft 问答,作者:AmanpreetSingh-MSFT

© www.soinside.com 2019 - 2024. All rights reserved.