【问题标题】:Azur AD - Multi tenancy application available to other organizationsAzure AD - 可供其他组织使用的多租户应用程序
【发布时间】:2019-12-09 19:09:39
【问题描述】:

我创建了一个多租户应用程序,因此我可以使用它提供的 SSO 选项。 尝试使用应用程序域之外的用户登录时,出现以下错误:

AADSTS700016:在目录<I_GUESS_THE_USERS_DIRECTORY_ID?> 中找不到标识符为<MY_APP_NAME> 的应用程序。如果租户管理员未安装应用程序或租户中的任何用户未同意此应用程序,则可能会发生这种情况。您可能将身份验证请求发送给了错误的租户。

根据this question,它应该可以在我无需做任何事情的情况下工作。 但是,是吗?为了完成这个过程,我或组织应该做什么?

【问题讨论】:

  • 您是如何在应用端配置身份验证的?
  • @juunas 你能澄清你的意思吗?

标签: azure active-directory azure-active-directory


【解决方案1】:

您还需要在目标租户中配置多租户应用的service principalhere 提供详细指南。

【讨论】:

    【解决方案2】:

    只需四个简单的步骤即可将您的应用程序转换为 Azure Ad 多租户应用程序:

    1.将您的应用程序注册更新为多租户

    2.更新您的代码以向 /common 端点发送请求

    3.更新您的代码以处理多个颁发者值

    4.了解用户和管理员的同意并进行适当的代码更改

    参考:

    How to: Sign in any Azure Active Directory user using the multi-tenant application pattern

    Build a multi-tenant daemon with the Microsoft identity platform endpoint

    【讨论】:

    • 我已经按照这些步骤进行了。我的问题是,为什么它要求登录用户的管理员在他们的目录中安装我的应用程序。
    • @Ben 如果您收到原始问题中显示的错误消息,则可能尚未完成第 1 步。你能确认这是你做的吗?
    • @PhilippeSignoret 我已经完成了参考链接中描述的第 1 步。但是,当我在 SAML 请求中的 issuer 字段中传递 Application ID URI 值(在 App Registrations -> 公开 API 中)而不是我在 SAML 登录属性中设置的随机标识符时,我得到了一个不同的错误说我的应用没有请求“AAD 图”权限。这有意义吗?登录用户目录的管理员是否必须为我的应用授予某些权限? (我的应用在不同的域中)
    • 啊,这是一个不同的问题。在您的应用的应用注册中,转到“API 权限”并为 Microsoft Graph 添加“User.Read”。当来自不同租户的用户登录到您的应用时,他们(或管理员,如果不允许)将需要同意与您的应用共享他们的个人资料详细信息。
    【解决方案3】:

    所以在上述场景中,是否不需要“注册应用程序的所有活动目录”,来自不同租户的用户可以从那里登录到应用程序?

    如果不需要注册,解决办法是什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-12
      • 2017-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 2017-07-07
      • 2019-04-16
      相关资源
      最近更新 更多