【发布时间】: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