如何集成驻留在不同Azure B2c租户中的两个Web应用程序以获得单一登录体验?

如何集成驻留在不同Azure B2c租户中的两个Web应用程序以获得单一登录体验?,azure,single-sign-on,azure-ad-b2c,identity-experience-framework,Azure,Single Sign On,Azure Ad B2c,Identity Experience Framework,有一个在Azure B2C租户(租户1)中注册的WebApp(App1)和另一个Azure B2C租户(租户2)中在不同订阅下注册的另一个WebApp(App2)。这些应用程序由不同的团队开发,但可以有相同的客户使用它们的应用程序。通常,客户是拥有自己域的组织和使用这些应用程序的员工。 一旦用户登录到App1,在某个页面上,点击时应该有一个按钮,该按钮应该指向App2的某个页面。用户不必使用App2的凭据再次登录。此用户列在租户1上。tenant2可以有相同的用户,但具有不同的objectId,

有一个在Azure B2C租户(租户1)中注册的WebApp(App1)和另一个Azure B2C租户(租户2)中在不同订阅下注册的另一个WebApp(App2)。这些应用程序由不同的团队开发,但可以有相同的客户使用它们的应用程序。通常,客户是拥有自己域的组织和使用这些应用程序的员工。 一旦用户登录到App1,在某个页面上,点击时应该有一个按钮,该按钮应该指向App2的某个页面。用户不必使用App2的凭据再次登录。此用户列在租户1上。tenant2可以有相同的用户,但具有不同的objectId,以及在其目录下列出的其他用户

在这种情况下,是否可以为App1到App2应用程序的用户提供单一登录体验

假设可能,我正在尝试在租户2中使用Azure Identity Experience Framework的自定义策略,以允许来自app1的用户登录到app2。我使用的入门包作为它的基础。到目前为止,这一切都正常,来自App1的用户可以登录到App2。然而,问题很少

  • 当前,当用户单击按钮从App1导航到App2时,他/她将重定向到登录页面,以使用App1凭据再次进行身份验证。我需要能够绕过登录页面。如何避免逻辑屏幕

  • 如果一个用户同时存在于两个租户中,因此在单击按钮转到App2时从App1重定向到不同的ObjectId,则会在租户2中的用户列表中创建另一个具有不同ObjectId的用户。如何避免这种重复

  • 我不熟悉Identity Experience Framework,我正在参考MSDN文档并观看Microsoft Identity Conference视频以熟悉它。请让我知道,如果有任何更多的资源,我可以参考


  • 我在谷歌上搜索过,但在这种情况下找不到任何东西,因为应用程序位于两个不同的B2c广告中,需要单点登录。

    我还没有考虑到这一点的全部含义,但您可以将Tenant1注册为Tenant2的外部身份提供商,反之,将Tenant2注册为Tenant1的外部身份提供商

    一方面,当Tenant1用户从App1导航到App2时,App2可以将Tenant1中的一部分发送到发送给Tenant2的授权请求。租户2将重定向到租户1以登录App2用户。如果他们在Tenant1有活动会话,则不应提示App2用户登录到Tenant1


    另一方面,当租户2用户从App2导航到App1时,App1可以向发送给租户1的授权请求中添加租户2的
    domain\u hint
    参数。

    在B2C中,SSO可以是租户、应用程序和策略级别。如果您在不同的租户中拥有应用程序,那么恐怕这是不可能的。