我正在为我的 Angular 6 前端应用程序开发 Azure AD B2C,并使用 Microsoft Graph API 来更改登录用户的密码。我正在得到access_token
使用授权代码流程。
当用户有这样的用户名时它工作正常[email protected] /cdn-cgi/l/email-protection
,我得到一个access_token
然后打电话https://graph.microsoft.com/v1.0/users/{id}/changePassword
.
但是当我尝试对用户名类似的用户执行相同操作时[email protected] /cdn-cgi/l/email-protection
or [email protected] /cdn-cgi/l/email-protection
,我在获取时出错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] /cdn-cgi/l/email-protection
or [email protected] /cdn-cgi/l/email-protection instead
of [email protected] /cdn-cgi/l/email-protection
?
这是预期的行为。在实施AD之前你需要清楚地了解它。
在 Azure AD 中,要根据目录对用户进行身份验证,用户应该是 Active Directory 的一部分。不属于 Active Directory 的用户将不会通过身份验证。仅当用户通过身份验证时才会生成令牌。
尝试为不属于 Active Directory 的用户生成令牌类似于使用无效的用户帐户登录 Azure 门户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)