我有一个iframe,它使用MSAL
身份验证。它的父应用程序也使用相同的身份验证机制,一旦用户登录父应用程序,我应该可以使用SSO
将其登录到iframe。我尝试使用loginHint
进行此操作,但我得到此错误:
这是iframe中的一段代码,它从父级接收loginHint
,并尝试将其用于SSO
:
window.addEventListener("message", (event) => {
// check the origin of the data
if (event.origin === parentDomain) {
const loginHint = event.data;
// attempt SSO
publicClient
.ssoSilent({
scopes: ["openid", "profile", "User.Read"],
loginHint,
})
.then((res) => {
console.log(res);
})
.catch((error) => {
console.error(error);
});
}
});
我想这可能与我的组织使用MFA
(多因素身份验证)有关,但我不确定。有没有办法绕过这个问题而不取消MFA?
1条答案
按热度按时间rqqzpn5f1#
您不能在IFRAME内使用交互式登录与MSAL,也嵌入式网页视图可以停止工作的安全原因,对第三方提供商,如谷歌或其他(OpenID)。
这跟外交部无关。
CmsiInterrupt -出于安全原因,此请求需要用户确认。由于这是一个“interaction_required”错误,客户端应执行交互式身份验证。出现此错误的原因是使用了系统webview来请求本机应用程序的令牌-必须提示用户询问这是否确实是他们要登录的应用程序。要避免出现此提示,重定向URI应是以下安全列表的一部分:http://https://msauth://(仅适用于iOS)msauthv 2://(仅适用于iOS)chrome扩展://(仅适用于桌面Chrome浏览器)