使用基于live.com的帐户验证用户时出现AADSTS50020错误

Mic*_*bin 5 azure azure-active-directory azure-web-app-service

我正在开发一个为客户管理azure资源的应用程序(配置VM,创建VNets).

我们在azure门户中创建了一个多租户应用程序,该应用程序配置为Windows Azure Service Management API和Windows Azure Active Directory的委派权限.

我们可以毫无问题地登录基于AAD的帐户.但是当基于live.com的帐户登录时,用户会收到AADSTS50020错误.

我们登录时,我们 使用以下参数导航到https://login.microsoftonline.com/common/OAuth2/Authorize:

client_id=XXX&response_mode=query&response_type=code&redirect_uri=XXX&prompt=consent
Run Code Online (Sandbox Code Playgroud)

这是完整的错误消息:

AADSTS50020:来自身份提供商'live.com'的用户帐户'xxx@hotmail.com'在租户'XXX'中不存在,并且无法访问该租户中的应用程序'xxx'.该帐户需要首先作为外部用户添加到租户中.注销并使用其他Azure Active Directory用户帐户重新登录.

Luk*_*lar 0

您需要使用 V2 终结点才能允许从个人 Microsoft 帐户进行访问。我使用 v1 端点遇到了同样的问题。

使用此端点: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

例如:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize ?client_id=ffffff-1111-2222-3333-37fd4f8c20ee &response_type=id_token &redirect_uri=http://localhost:8080/login/microsoft/callback &response_mode=form_post &prompt=consent &scope=openid &state=12345 &nonce=RandomGUI

祝你好运