【发布时间】:2018-08-01 06:49:40
【问题描述】:
我正在为我的 Angular 6 前端应用程序开发 Azure AD B2C,并使用 Microsoft Graph API 来更改登录用户的密码。我正在使用授权码流程获得access_token。
当用户拥有像xyz@myb2cname.onmicrosoft.com 这样的用户名时,它可以正常工作,我得到一个access_token,然后调用https://graph.microsoft.com/v1.0/users/{id}/changePassword。
但是,当我尝试对使用 xyz@gmail.com 或 abc@hotmail.com 之类的用户名的用户执行相同操作时,在获取 access_token from 授权码流 (grant_type=password) 时出现错误。 注意:这些用户是我的 AAD B2C 租户中的“本地”帐户
以下是我得到的错误信息:
{
"error": "invalid_grant",
"error_description": "AADSTS50034: To sign into this application the account must be
added to the myb2cname.onmicrosoft.com directory.
Trace ID: 8fcae061-5088-4393-9e5b-d0a83d1d0a00
Correlation ID: 0dc6c906-c54b-4cd8-ae8b-46f3f6118e40
Timestamp: 2018-08-01 06:16:55Z",
"error_codes": [
50034
],
"timestamp": "2018-08-01 06:16:55Z",
"trace_id": "8fcae061-5088-4393-9e5b-d0a83d1d0a00",
"correlation_id": "0dc6c906-c54b-4cd8-ae8b-46f3f6118e40"
}
当用户的用户名看起来像 xyz@gmail.com 或 abc@hotmail.com instead 或 xyz@myb2cname.onmicrosoft.com 时,如何为使用电子邮件身份提供商(登录-注册策略)登录的用户调用 changePassword?
【问题讨论】:
标签: microsoft-graph-api azure-ad-b2c