首页 > 解决方案 > Azure 应用服务多租户功能实际上不起作用

问题描述

我按照以下步骤尝试创建一个允许从多个 Azure AD 租户登录的 Azure 应用程序:


创建新的应用服务并打开身份验证

1) 在 Azure 门户中:我创建了一个全新的空 Azure 应用服务,并在我的浏览器中拨出它的 URL 以确保它正常工作。

2) 我导航到我的新应用服务,然后是“身份验证/授权”刀片。

3)我打开了“应用服务身份验证”开关。

4) 我从“请求未通过身份验证时采取的操作”下拉菜单中选择了“使用 Azure Active Directory 登录”。

5) 在同一个刀片上的“身份验证提供程序”下,单击“Azure Active Directory”,将我导航到“Azure Active Directory 设置”刀片。

6) 在这个刀片中,我在“管理模式”单选按钮上选择了“快递”。Active Directory 的选择是灰色的,但它是我想要使用的——当前的。


创建与我的应用服务关联的新 Azure AD 应用

7) 我点击了“Azure AD App”,它提示我创建一个 Azure AD App,默认情况下它与我的应用服务名称相同,所以我保留了它。

8) 仍然在“Azure Active Directory 设置”刀片上,单击“管理 Azure Active Directory 应用程序”标题下的“管理应用程序”按钮。我又向下导航了一个刀片,标题是我刚刚创建的 Azure AD 应用程序的名称。

9) 在这里,我单击“设置”按钮,然后单击“设置”刀片中的“属性”。

10)在“属性”中,我将“多租户”单选按钮设置为“是”。

11)也在“属性”中:据说多租户工作需要:我还将“App ID URI”更改为唯一的东西,并且还来自我组织内的已验证 URL。就我而言,我使用了:

https://<<MyTenantName>.onmicrosoft.com/login-ProofOfConcept


测试安全功能

12) 假设一切都设置好了,我首先尝试使用我当前 B2C 租户中存在的用户登录到我的新应用程序。我拨打了我的应用服务的 URL,microsoftonline 提示我进行身份验证,我进行了身份验证,然后我直接进入我的应用程序没有问题。


这是问题所在

13) 然后,我注销并尝试再次登录——但这次是作为另一个 Azure AD 中的用户,这只是我在我的个人 gmail 帐户下启动的一个。我期待它“正常工作”,但在我作为另一个用户进行身份验证后,屏幕上显示了这个错误:

AADSTS50020:来自身份提供者“live.com”的用户帐户“MyUserName@gmail.com”在租户“[MyTenantName]”中不存在,并且无法访问该租户中的应用程序“[MyApplicationGUID]”([AzureADApplicationName])。需要先将该帐户添加为租户中的外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。

这正是我希望通过启用多租户来避免的行为。我希望它只会“登录”这个用户,他是现有 Azure AD 的成员。我错过了配置步骤吗?

标签: azure

解决方案


我认为您可能在这里查看 Azure AD B2B,您需要先邀请非 Azure AD 用户:请参阅此docs.microsoft.com参考。
假设您有默认设置,即允许所有用户邀请非 Azure AD 用户在此实例中访问应用程序,邀请您的第二个用户 @hotmail 然后尝试登录,请参阅此docs.microsoft.com参考。

如果您希望 @hotmail 中的任何人都能够登录您的应用程序,请考虑使用 Azure AD B2C,有关更多详细信息,请参阅此docs.microsoft.com


推荐阅读