在SPA中使用MSAL.js进行Azure B2C身份验证 - 弹出窗口有问题?

问题描述:

所以我想使用MSAL进行AZURE B2C身份提供程序的身份验证,但是通过查看代码,我可以看到MSAL依赖于弹出登录窗口。 (如果我错了,请纠正我)。在SPA中使用MSAL.js进行Azure B2C身份验证 - 弹出窗口有问题?

我的问题是,鉴于B2C网站是消费者所面临的,是不是使用弹出窗口高度灰心,因为你的潜在网站用户许多可能弹出禁用?我很难找到一个很好的例子,说明如何在没有弹出窗口的情况下将Azure B2C插入到angular2应用程序中。

+0

有一个loginRedirect方法,但我看到不正确的行为w/it [github问题](https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/102) – spottedmahn

您可以将hello.js用于您的Spa应用程序。这没有任何弹出,100%一致和非常轻的重量,所以你不必处理任何弹出窗口。它也非常灵活。我们正在使用我们当前的项目。你可以找到角2应用程序的示例。 https://github.com/karthikeyanVK/ng2AzureAdB2C

+0

我能否请知道为什么有downvote –

+0

这是一个很好的做法,建议一个解决方案,而不是链接到外部来源。你能否总结出你的链接代码中的关键概念来回答上述问题? –

+0

@ShailenSukul我建议使用hello.js而不是使用MSAL,并且链接具有工作示例。可能我会说得更好。 MSAL不是稳定的解决方案。 –

你实际上可以使用loginRedirect()而不是loginPopup();但是,Azure B2C尚不支持登录页面的自定义域,因此您的用户将被重定向到https://login.microsoftonline.com的变体。如果您在Azure AD租户上设置品牌,这并不可怕,但是存在一个用户可能会遇到400错误的错误。 (http 400: size of header request is too long when signing in user using Multifactor authentication