oauth2.0 Azure MSAL身份验证-带MFA的SSO

nfg76nw0  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(265)

我有一个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?

rqqzpn5f

rqqzpn5f1#

您不能在IFRAME内使用交互式登录与MSAL,也嵌入式网页视图可以停止工作的安全原因,对第三方提供商,如谷歌或其他(OpenID)。
这跟外交部无关。
CmsiInterrupt -出于安全原因,此请求需要用户确认。由于这是一个“interaction_required”错误,客户端应执行交互式身份验证。出现此错误的原因是使用了系统webview来请求本机应用程序的令牌-必须提示用户询问这是否确实是他们要登录的应用程序。要避免出现此提示,重定向URI应是以下安全列表的一部分:http://https://msauth://(仅适用于iOS)msauthv 2://(仅适用于iOS)chrome扩展://(仅适用于桌面Chrome浏览器)

相关问题