首页 > 解决方案 > Azure AD 多租户 SaaS 应用程序的租户特定主页 URL

问题描述

我在 Azure 中注册了一个多租户 SaaS 应用程序。

而且,每个租户都有自己的子域来访问我的 Web 应用程序(Angular/.NET Core)。类似somecompany.myapp.comanothercompany.myapp.com

请注意,身份验证是通过 MSAL(带有 PKCE 的 OIDC 授权代码流)进行的。

现在我需要在租户的 Office 365 门户中显示我的应用程序。

但是, 如何为租户配置“主页 URL”(或任何其他最佳方式),以便在单击应用程序时将用户重定向到租户的正确 URL?

或者,有什么方法可以将 Azure TenantID 作为主页 URL 的参数,以便我可以设置一个通用端点来将用户重定向到正确的子域?

我的应用程序 |  品牌推广

不幸的是,我找不到任何类似的问题或有关此问题的任何文章。

标签: azureazure-active-directoryoffice365openid-connectmulti-tenant

解决方案


• 确保应用程序的App ID URI 是全球唯一的。App ID URI 是在协议消息中标识应用程序的方式之一,并且通过要求 App ID URI 具有与 Azure AD 租户的已验证域匹配的主机名来强制执行全局唯一性。因此,如果子域是“abc.company.com”,那么有效的应用 URI 将是“https://abc.company.com/myapp”</p>

• 对于多租户应用程序,应用程序不知道用户来自哪个租户,因此您无法向租户的端点发送请求。而是将请求发送到跨所有 Azure AD 租户多路复用的端点:“https://login.microsoftonline.com/common”</p>

• 当Microsoft 标识平台收到/common 端点上的请求时,它会登录用户,从而发现用户来自哪个租户。/common 终结点适用于 Azure AD 支持的所有身份验证协议:OpenID Connect、OAuth 2.0、SAML 2.0 和 WS-Federation。

• 因此,您指定的路径必须是根域 URL 的子域路径。例如,如果根域 URL 是https://apps.company.com/myapp/,子域是 'abc.company.com',那么您配置的主页 URL 必须以 'https:/ 开头/apps.company.com/myapp/',因为应用程序已在根域中的 Azure AD 中注册。

请找到以下链接以获取更多信息:-

https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant

https://docs.microsoft.com/en-us/azure/active-directory/app-proxy/application-proxy-configure-custom-home-page


推荐阅读