AAD Outh 生成令牌失败 AADSTS50076

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

我从 AAD 生成 oAuth 令牌的代码突然开始失败,并显示消息“AADSTS50076:由于管理员进行的配置更改,或者因为您移动到新位置,您必须使用多重身份验证才能访问 {resourceid}”。 错误代码 50076。

我没有改变我的位置,之前的工作也是如此。我不知道 AAD 管理员是否进行了任何更改,之后它开始失败。在天蓝色门户中,它显示应用程序已授予资源管理员同意。

任何建议/如何排除故障并修复它。

谢谢

azure-active-directory
1个回答
1
投票

如果您尝试获取访问令牌,通常会发生此错误 为启用 MFA 的用户使用 ROPC 流程。

我有一个用户启用了 MFA,如下所示:

enter image description here

当我尝试使用 ROPC 流为此启用 MFA 的用户生成访问令牌时,我遇到了相同的错误,如下所示:

POST https://login.microsoftonline.com/<tenantID>/oauth2/token
grant_type:password
client_id:<appID>
client_secret:<secret>
resource: https://graph.microsoft.com
username: [email protected]
password: xxxxxxxxx

回复:

enter image description here

要解决该错误,您必须为该用户禁用 MFA 或将您的身份验证流程更改为授权代码

要使用授权代码流生成访问令牌,请在浏览器中运行以下授权请求

https://login.microsoftonline.com/tenantID/oauth2/v2.0/authorize? 
client_id=appID
&response_type=code  
&redirect_uri=https://jwt.ms
&response_mode=query  
&scope=https://graph.microsoft.com/.default
&state=12345

当我在浏览器中运行上述授权并尝试使用启用 MFA 的用户进行身份验证时,它要求 MFA,如下所示:

enter image description here

完成MFA后,我在地址栏中成功获得了

code
值,如下所示:

enter image description here

现在,我可以通过 Postman 使用 授权代码流 为支持 MFA 的用户成功生成访问令牌,参数如下:

POST https://login.microsoftonline.com/tenantID/oauth2/token
grant_type:authorization_code
client_id:<appID>
client_secret:<secret>
resource:https://graph.microsoft.com
code:<paste_code_from_above_step>
redirect_uri:https://jwt.ms

回复:

enter image description here

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