我在第三方网站上有一个iframe。 iframe内部是我的应用程序,用户使用FB Connect进行身份验证。我在我的Ruby on Rails站点上使用omniauth gem来处理与Facebook的连接。是否可以在第三方网站的iframe中使用FB Connect?
它可以无缝工作,如果a)您已经登录到FB,并且b)您已经授权我的网站使用您的详细信息。
如果其中任何一个丢失 - 在FB连接呼叫到Facebook的那一刻 - 一切都会停止,并且我会看到FB徽标和点击链接到Facebook。当我点击链接时 - 它将我带出我的iframe并进入Facebook。显然,一旦我返回 - 没有iframe可以返回,我不再在第三方网站上 - 但是我的。
该技术是否可行?如果是这样 - 我可能会在哪里出错?正如我所说 - 如果a)和b)得到满足 - 它可以无缝工作。
哦,不 - 太遗憾了。我曾在某些网站上看到使用弹出式窗口。这会起作用吗?因此,在iframe中,我在主窗口上打开一个弹出窗口 - 执行facebook连接过程,然后关闭弹出窗口。我不认为会有办法通知我的网站在iframe中认证已完成。所以 - 不知道这在技术上是否可行 - iframe中的我的站点可以轮询经过验证的cookie以“到达”? – Joerg
这将是一个相当奇怪的流程,但理论上可以打开一个加载Facebook身份验证页面的新窗口,然后将重定向回到您网域中的页面。然后该页面可以输出一些使用window.opener与iframe进行通信的javascript。但是,做一个顶级重定向然后在完成时跳回框架不是更容易吗? –
我发现它:它看起来像http://svpply.com/login正在做类似的事情。因此,如果我将该网址添加到iframe中,它就会按照我希望的方式工作。我只是不确定他们是如何实施它的。我可以看到有服务器端和客户端连接的方式。登录后,他们创建一个用户名 - 所以它看起来也有一些服务器端的实现。但是,是的 - 我只是不知道他们采取了哪些不同的步骤。 – Joerg