首页 文章

在iframe中嵌入Firebase社交登录

提问于
浏览
0

我在iframe中嵌入了一个React应用程序 . 该应用使用firebase身份验证使用Google,Facebook或Twitter登录 . 虽然身份验证机制在iframe之外完美运行,但由于跨源问题,它在iframe中不起作用 . 任何想法如何解决这个问题?

以下是将React应用嵌入iframe的代码:

<iframe
    id="myframe"
    src="https://example.com/my-frame"
    scrolling="no"
></iframe>

当React应用重定向到社交登录时,我在Chrome DevTools中收到以下错误消息:

拒绝显示'https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=xyz&scope=https://www.googleapis.com/auth/userinfo.email Profiles openid&redirect_uri = https://示例.firebaseapp.com / __ / auth / handler&state = AH..oE'在一个帧中,因为它将'X-Frame-Options'设置为'sameorigin' .

Google登录似乎正在发送 x-frame-options:SAMEORIGIN 标头,阻止浏览器打开该页面 . 有办法解决这个问题吗?

提前致谢!

1 回答

  • 0

    像accounts.google.com这样的OAuth提供商拒绝在框架或iframe中呈现 . 这是出于安全原因 .

    没有什么可以绕过它 . 但是,如果您使用Firebase Auth从iframe登录,则可以切换为使用 signInWithPopup .

相关问题