BU0*_*BU0 6 azure-active-directory azure-ad-b2c microsoft-graph-api
我正在尝试构建一个网站,用户可以通过 Azure AD B2C 登录。登录后,我尝试提供一个安全区域,用户可以在其中通过 Microsoft Graph API 更改其 Azure B2C 用户属性(名字、姓氏等)。
我正在尝试遵循获取令牌文档
一切都在进行到步骤 #3,其中使用我在返回 URL 上收到的代码进行https://login.microsoftonline.com/common/oauth2/v2.0/token调用以获取。access_token
这是我正在做的事情的一般流程:
https://login.microsoftonline.com/mytenantname.onmicrosoft.com/oauth2/v2.0/authorize
?client_id=[MyAppID]
&response_type=code+id_token
&redirect_uri=http%3A%2F%2Flocalhost%3A17000%2Fprocessing%2Findex
&response_mode=query
&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fuser.read%20https%3A%2F%2Fgraph.microsoft.com%2Fuser.write
&state=[MyCustomState]&p=[MyCustomPolicy]
Run Code Online (Sandbox Code Playgroud)
用户登录并被重定向到redirect_uri.
redirect_uri成功收到code、id_token、 和state值。
我code从中获取值并POST https://login.microsoftonline.com/common/oauth2/v2.0/token使用以下正文发出请求:
POST https://login.microsoftonline.com/common/oauth2/v2.0/token
HTTP/1.1
grant_type=authorization_code
&code=[code]
&client_secret=[application secret]
&scope=openid%20offline_access%20https%3A%2F%2Fgraph.microsoft.com%2Fuser.read%20https%3A%2F%2Fgraph.microsoft.com%2Fuser.readwrite
&redirect_uri=http%3A%2F%2Flocalhost%3A17000%2Fprocessing%2Findex
Run Code Online (Sandbox Code Playgroud)
{
"error": "invalid_grant",
"error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID:6d7a8e32-bcbf-4fc4-a37a-87dae4781b00\r\nCorrelation ID:252912b7-5775-491a-968f-00ab03696dd9\r\nTimestamp: 2019-06-2722:11:18Z",
"error_codes": [9002313],
"timestamp": "2019-06-27 22:11:18Z",
"trace_id": "6d7a8e32-bcbf-4fc4-a37a-87dae4781b00",
"correlation_id": "252912b7-5775-491a-968f-00ab03696dd9"
}
Run Code Online (Sandbox Code Playgroud)
其他 StackOverflow 帖子提到验证 redirect_uri 必须在初始登录和后续 access_token 请求之间匹配。它们对我来说看起来相同,但我仍然收到错误。
有什么想法可能会出问题吗?
似乎您正在尝试使用获取访问令牌Authorization Code Grant V2.0
您的请求与格式不匹配
Authorization Code Grant V2.0,并且您遇到了该错误。
Authorization Code Grant V2.0您应该发送如下所示的令牌请求:
Token Endpoint: `https://login.microsoftonline.com/common/oauth2/v2.0/token`
client_id:b603c7be-_YourApp_ID-e6921e61f925
scope:https://graph.microsoft.com/User.ReadWrite.All
redirect_uri:https://www.getpostman.com/oauth2/callback
grant_type:authorization_code
client_secret:Vxf1SluKbgu4P_YourAppSecret_DSeZ8wL/Yp8ns4sc=
code:OAQABAAIAAADCoMpjJXrxTq9VG9te-7FXrnBIp82sWR1nC
Run Code Online (Sandbox Code Playgroud)
详细信息请参见屏幕截图:
| 归档时间: |
|
| 查看次数: |
34796 次 |
| 最近记录: |