MSAL Azure AD B2C 身份验证在 chrome 中不起作用 - 隐身

MSAL Azure AD B2C authentication not working in chrome - incognito

Google 的 chrome 浏览器从 84.0.4147.89 更新到 84.0.4147.105 已经破坏了我们应用程序在 Incognito window 中的 MSAL 登录(身份验证)。

为了验证我们的应用程序没有问题,我尝试在隐身浏览器中使用入门包登录 Azure AD B2C,我看到了相同的行为。有人遇到过同样的问题吗?

过去很少有开发人员发布过类似的问题。但提供的解决方案无济于事。 https://support.google.com/chrome/thread/38855209?hl=en

仅供参考:登录在 Chrome 常规浏览器和其他浏览器

中按预期工作

新手包详情: https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp

新手包有 msal 1.3.3 版本。前两天发布了1.3.4版本,我也试了一下。我在 incognito 中的 acquiretokensilent(CallApi) 期间看到错误,而在常规 window

中我没有得到相同的异常

入门包和我们的应用程序之间的唯一区别是我们在登录成功后立即调用 acquiretokensilent,但在入门包中,acquiretokensilent 是在单击按钮时调用的 (CallApi)

移动评论中的答案

如您所述,我在成功登录后通过调用 acquiretokensilent 尝试了启动包。我收到一个错误

User does not have an existing session and request prompt parameter has a value of 'None'

出现此问题的原因是未在 chrome 隐身模式下启用弹出窗口。一旦我启用了弹出窗口,我就能够成功地调用 acquiretokensilent 而没有任何错误。

我通过在 google chrome 设置中启用 cookie 解决了隐身 window 中的 Azure AD B2C 登录问题。以下是启用 cookie 的步骤。

Chrome 设置 -> 隐私和安全 -> Cookie 和其他站点数据 -> 'Allow all cookies'

您甚至可以为网站提供当前会话的 cookie。

CHROME SETTINGS --> PRIVACY AND SECURITY --> COOKIES AND OTHER DATA DATA -->

始终可以使用 cookie 的站点 --> 添加站点

对于aquiresilenttoken(),添加https://login.microsoftonline.com/*

或您的首选权限URL。