尝试运行Azure Tailspin示例应用程序时出现错误AADSTS50020

时间:2019-01-25 20:44:49

标签: azure azure-active-directory multi-tenant

我正在使用Azure迈出第一步,试图弄清楚如何发展一个mISV业务,在该业务中我将出售在Azure中运行的应用程序(SaaS模式)的订阅。

为此,我正在尝试运行 Tailspin sample application 遵循以下说明 here

要运行该应用程序,至少需要两个Azure Active Directory。一个广告属于虚构的Tailspin软件提供商(在本例中为我)。 Tailspin Web应用程序和随附的WebAPI在此目录中注册。其他广告属于客户(在这种情况下,我也是)。客户注册该应用程序。

我只有一个Azure订阅,因此我被迫进行如下设置:

  • 我已经在默认广告中注册了Tailspin Web应用程序和WebAPI。 (我想我可以为此目的创建一个特定的AD,但这不是绝对必要的。)。必须在此AD中创建应用程序和API,因为它们消耗资源,并且资源需要订阅。将应用程序和API放在单独的AD中将需要单独的Azure订阅。
  • 我已经将Web应用程序和API都标记为多租户(以便在客户注册后它们可以出现在其他广告中)。
  • 我创建了另一个名为TaiispinClient1的AD(名称并不重要),并希望将其用作“客户” AD。
  • 在TailspinClient1 AD中,我使用我的外部电子邮件地址之一创建了一个来宾用户。我无法创建常规AD用户,因为创建常规用户需要具有经过验证的Web域,并且我现在不想进行验证。
  • 我确保我的来宾用户与常规用户一样都是管理员用户:
    • 在TailspinClient1 AD的用户设置中,“用户可以注册应用程序”设置为“是”(默认)
    • 在“管理外部协作设置”中,“来宾用户权限受限制”设置为“否”
    • 我的访客用户具有管理目录角色(特别是“全局管理员”和“应用程序管理员”)

要继续,我最终在一个Azure订阅中拥有两个AD:默认AD中包含启用了多租户的Tailspin应用/ API, 和TailspinClient1 AD(具有外部管理员)。

我正在本地运行Tailspin应用程序。

当我尝试从TailspinClient1 AD以管理员用户身份注册该应用程序时,我(成功)对自己进行身份验证后收到以下错误消息:

AADSTS50020:来自身份提供者“ live.com”的用户帐户在租户“默认目录”中不存在,并且无法访问该租户中的应用程序<我的Tailspin Web应用程序的GUID>。首先需要将该帐户作为外部用户添加到租户中。注销并使用其他Azure Active Directory用户帐户再次登录。

如果我忘记将Tailspin应用程序/ API标记为多租户,那么该消息就很有意义,而我没有这样做。

我在这里想念什么?完全支持此特定设置吗?我是否需要以某种方式在这两个AD之间建立信任?

感谢您的帮助。

0 个答案:

没有答案