【问题标题】:Azure B2C SSO for my web application and powerapps application not working我的 Web 应用程序和 powerapps 应用程序的 Azure B2C SSO 无法正常工作
【发布时间】:2021-07-21 18:59:50
【问题描述】:

我已将 Azure B2C 配置为启用 SSO 功能,启用后,当我登录我的 Web 应用程序并重定向到 Power Apps 应用程序时,它不会显示为已登录,而是显示为登录,当单击该按钮时直接登录我的帐户并创建 .AspNet.ApplicationCookie 的 cookie 并显示帐户详细信息。 Web 应用程序和电源应用程序都有不同的域。请帮我解决我所缺少的

【问题讨论】:

    标签: asp.net-mvc single-sign-on azure-ad-b2c powerapps


    【解决方案1】:

    这是意料之中的,因为您必须将用户发送到 AAD B2C 以检查他们是否已登录。用户必须在 App2 中执行操作才能发送到 B2C 以执行登录或 SSO。

    您可以使用隐藏的 iframe 对页面加载进行检查,如果登录正常,请执行一些操作来更新页面以反映这一点,否则会静默失败。 https://docs.microsoft.com/en-us/azure/active-directory-b2c/embedded-login?pivots=b2c-user-flow

    这需要将 MSAL 身份验证编码到应用程序中。

    【讨论】:

    • 是否可以使用 msal.js 或任何 javascript 代码或 C# 代码将会话 cookie 从一个选项卡传递到另一个选项卡,因为 azure b2c 使用的是用户流而不是自定义策略
    • 调用 loginRedirect() 时会加载会话 cookie。您可以在 iframe 中调用 loginRedirect()。
    • 我能够为 Power Apps 应用程序解决此问题,并且它可以通过使用 iframe 来工作,但同样我正在尝试使用 c# Web 应用程序,它会抛出以下错误:Refused to frame '<azure b2c url>' because an ancestor violates the following Content Security Policy directive: "frame-ancestors <my sites url>".
    • 在自定义策略中,您声明允许在 iframe 中加载哪些 URL(在 JourneyFraming 标记下),确保列出您的网站 URL。
    • 嗨@Jas Suri 它在所有浏览器上都运行良好,但是在新升级 chrome 和 firefox 浏览器后,它停止工作到私有和 ingonito 模式,请你帮忙解决这个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 2012-01-02
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多