首页 文章

如何允许从iFrame登录facebook

提问于
浏览
0

我的应用程序是嵌入到其他网站的小部件,但最重要的功能之一是登录Facebook .

但现在我有一个问题 .
我有 iframe 标签,但我也有iframe:

<a href="http://roomtobid.com/social/login/redirect/facebook" class="btn btn-info btn-lg col-md-12" >Facebook</a>

现在当我尝试点击并登录时,什么都没发生 . 另外,当我查看浏览器控制台时,我收到错误:

拒绝在一个框架中显示'https://www.facebook.com/login.php?skip_api_login=1&api_key=17499948800008...m5xN3sZ3hrPQWQ44FYQPR1yPpsDwLuvoTP9jtZq6%23_%3D_&display=page&locale=sr_RS',因为它将'X-Frame-Options'设置为'拒绝' .

我怎么能解决我的问题?

此外,我尝试在 <a> 标签处添加 target="_top" 并且该工作但是然后将我发送到第一个到Facebook然后作为回调到原始域而不是回到iFrame .

有什么方法可以解决这个问题吗?

我看到zopim聊天允许他们的访问者使用facebook登录,但他们的facebook登录被打开到新的小窗口 .

1 回答

  • 0

    然后然后发送给我第一个到Facebook然后作为回调到原始域而不是回到iFrame

    当然不是 .

    它只会重定向回指定为 redirect_uri 的地址 - 并且该地址必须与应用程序域匹配,即resp . 在应用程序设置中指定为有效的OAuth重定向URI .

    您可以做的唯一事情就是将iframe所在页面的URL放入您的应用程序回调URL作为参数 - 以便在Facebook登录重定向回您的应用程序后,您的应用程序可以重定向到那里 .

    您也可以尝试将其放入会话中 - 但如果用户打开了嵌入您的小部件的多个页面,加上会话cookie和第三方cookie阻止很容易造成其他麻烦,那么这可能会有问题 .

    这仍然会让您在iframe src 中获取"parent"页面's URL in the first place. The parent page would have to explicitly transport that information to your widget in the first place, like via a GET parameter that they append to your widget'的地址 . (可以直接使用URL,也可以是某种客户端标识符,然后在数据库中查找 . )

相关问题