Azure 登录另一个 Angular 应用程序的 iFrame 中的 Angular 应用程序

Posted

技术标签:

【中文标题】Azure 登录另一个 Angular 应用程序的 iFrame 中的 Angular 应用程序【英文标题】:Azure login for Angular App in iFrame of another Angular App 【发布时间】:2021-11-30 03:51:40 【问题描述】:

我有两个独立的 Angular 应用程序,并且都启用了 Azure AD 登录。当我在选项卡中分别访问这两个应用程序时,它们工作正常,它们重定向并获取令牌,一切都很好。

我现在想将 Angular 1 作为父应用,将 Angular 2 作为子应用作为父应用程序中的选项卡之一。

为此,我们可以控制 Azure 配置,我可以在同一个租户中定义两个 Angular 应用程序。 (不确定,正确的术语,因为我对 Azure 门户的工作不太熟悉。)

两个应用程序都使用 MSAL 库来提供 clientID、权限等来重定向和获取令牌。

当用户通过重定向登录父应用程序时,这很好,但我不希望用户再次登录子应用程序,并且流程应该是顺畅的。

我如何实现这一目标?这一切都由天蓝色配置处理,以便子应用程序不会再次进行身份验证吗?在这种情况下,子应用程序将返回与父应用程序令牌相同的令牌吗?有没有可能实现?

请帮忙。提前致谢。

【问题讨论】:

【参考方案1】:

您可以在 Azure Active Directory 中使用单点登录来满足您的要求。单点登录是一种身份验证方法,允许用户使用一组凭据登录多个独立的软件系统。使用 SSO 意味着用户不必登录他们使用的每个应用程序。

更多信息请查看https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/add-application-portal-setup-sso

【讨论】:

以上是关于Azure 登录另一个 Angular 应用程序的 iFrame 中的 Angular 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在同一个Angular Workspace中将多个Angular应用程序部署到Azure

Angular/ MongoDB/ NodeJs:从一个域自动登录到另一个域

将登录名迁移到 azure 中的另一个订阅

使用 Angular 8 中的 MSAL 库获取 Microsoft Azure AD 组名称列表

如何使用电子和角度使用天蓝色登录

Angular 5 - 无法从一个组件导航到另一个组件