【问题标题】:AADSTS50020 error when authenticating user with live.com based account使用基于 live.com 的帐户对用户进行身份验证时出现 AADSTS50020 错误
【发布时间】:2017-08-01 09:25:28
【问题描述】:

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

我们在 Azure 门户中创建了一个多租户应用程序,该应用程序配置为 Windows Azure 服务管理 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

这是完整的错误信息:

AADSTS50020:来自身份提供商的用户帐户“xxx@hotmail.com” 租户“XXX”中不存在“live.com”,无法访问 该租户中的应用程序“xxx”。该帐户需要添加为 首先是租户中的外部用户。退出并再次登录 不同的 Azure Active Directory 用户帐户。

【问题讨论】:

  • 您使用的是 AAD v1 还是 v2 端点?如果您想为个人帐户显示 prompt=consent,我相信您需要使用 v2 端点
  • @michael-sabin:你解决了吗?我有同样的问题。
  • 看起来现在有一种方法可以支持 live.com 帐户,但我没有尝试过,因为它强制执行限制我使用的一些重定向 URL 的 URL 验证。另一种解决方法是要求用户输入他们的租户 ID,然后在 URL 中使用它而不是 common
  • @MichaelSabin 这实际上是不正确的,请参阅下面的答案。

标签: azure azure-active-directory azure-web-app-service


【解决方案1】:

您需要使用 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

祝你好运

【讨论】:

    猜你喜欢
    • 2018-12-09
    • 2020-12-25
    • 1970-01-01
    • 2017-04-26
    • 2021-02-08
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多