Facebook Connect适用于多个域名的应用程序?

时间:2010-12-13 17:25:50

标签: javascript facebook

我正在实施一个可嵌入不同网站的插件(la Meebo,Wibiya),我想使用Facebook Connect。该插件应该可以嵌入到具有不同域名的站点中。问题是,Facebook connect允许您注册的每个应用程序只有一个域。

问题是,如何为单个Facebook应用程序创建多个域,假设:

  1. 当用户在一个站点上“允许”该应用程序时,他们也不必在其他站点上“允许”该应用程序。

  2. 优选地,在初始登录后,用户不会在他们登录的每个站点上看到弹出窗口(即 - 我不想打开指向我的域的链接并执行从那里登录过程。

  3. 有没有这样做?
    如果没有,我唯一的选择是管理来自单个域的所有登录并将cookie传递回原始域吗? 如果我在域名之间传递cookie,我怎么能确定Facebook将来不会阻止这种行为?

    我很感激任何建议,但如果可能的话,我更喜欢官方解决方案而非黑客攻击。

2 个答案:

答案 0 :(得分:2)

我假设您正在使用Naitik Shah的facebook.php?您的小部件当然需要在每个页面上,并包含async script connect-js。 我目前正在开发一个基于facebook登录的应用程序。

我认为最好的解决方案是通过您自己的域名登录并传递cookie。您的app / widget将是他们允许与之共享信息的唯一一个。操作与单页解决方案没有任何区别。我设想了一个PHP插件,它从外部域执行登录,并通过小部件将cookie传递给网站。安全地按照你的意愿返回cookie(除了像存放在div中并且检索它的狡猾的东西......或者黑客可能试图欺骗的东西)。然后,该站点将使用cookie用于帐户和用户ID,并且窗口小部件将使用异步脚本控制所有登录操作和会话查找(但通过不同的域路由)。

抱歉,我无法提供帮助,但这是我能想到的唯一解决方案,而且无论如何你似乎已经有了。

在跨不同域保持会话控制方面,您只需要激活第三方cookie。为您的域激活页面后,如果您尚未注销或尚未过期,则您已拥有该域的cookie。使用外部管理域的好处。

与多个域的任何成功黑客相比,这似乎也是最可靠的方式,因为我会看到fb和Oauth2.0与批准的方共享信息(cookie)一致,可以通过批准的另一方派对。但是......如果他们认为用户会遇到隐私问题可能会有问题,因为您可能会在没有用户许可的情况下在任何网站上共享cookie。因此,您必须小心通知用户他们将自动登录的所有网站并尊重他们。

祝你好运,希望你告诉我们它是怎么回事。

答案 1 :(得分:0)

有简单易用的技术 - >单点登录(SSO)。你可以搜索一下它。