我正在为我的 Angular 6 前端应用程序使用 Azure AD B2C 并使用 Microsoft Graph API 以更改登录用户的密码。我正在access_token
使用授权代码流程。
当用户有一个用户名时它工作正常[email protected]
,我得到一个access_token
然后调用https://graph.microsoft.com/v1.0/users/{id}/changePassword
。
但是,当我尝试对用户名类似于[email protected]
或 的用户执行相同操作[email protected]
时,在获取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"
}
changePassword
当用户名类似于[email protected]
或 时[email protected] instead
,如何呼叫使用电子邮件身份提供商(SignIn-SignUp Policy)登录的用户[email protected]
?
当外部用户登录您的 AAD 时,它不会使用传统密码创建传统用户,而是创建“访客”用户。实际用户保留在原始 AAD 租户中,您的 AAD 租户仅存储该用户的占位符。
您不能更改来宾用户的密码,因为您的 AAD 实际上没有分配给该用户的密码。您的 AAD 拥有授权(用户有权访问的内容),但依赖于用户的 AAD 进行身份验证(用户就是他们声称的身份)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句