在多个域/子域上使用facebook连接

时间:2013-08-28 19:03:43

标签: facebook facebook-login

我开始开发一个Facebook应用程序,我有两个网站。

  • domain.com(用于营销目的和Facebook登录按钮在该页面上)
  • app.domain.com(应用程序本身)

我已经设置了一个Facebook应用程序,并且到目前为止已经实现了SDK。

在我的应用设置中,我添加了:

  • domain.com,
  • www.domain.com
  • app.domain.com

稍后我使用redirect_uri参数

调用getLoginUrl方法
$facebook->getLoginUrl(array('redirect_uri' => 'http://app.domain.com', 'display' => 'popup'));

我确实收到了网址,但是当我继续这个网址时,facebook告诉我域app.domain.com不在我的应用域内。

因为我在那里添加了它,这很奇怪。

我的回拨网址/重定向网址也可以使用

  • app.domain.com
  • app.domain.com/mobile

我做错了什么,我假装错了吗?

任何帮助表示感谢。

谢谢!

1 个答案:

答案 0 :(得分:1)

技术上可以在多个域上使用 Facebook Connect ,有一些限制(最多5个域)。

因此,执行此操作的关键是在应用设置下的应用域字段中添加所有域

enter image description here

然而,问题是Facebook只允许您添加从您的Canvas URL或网站或网页标记网址派生的网域,因此如果您尝试输入任何其他内容,则会收到错误消息看起来像这样:

enter image description here

解决方案是使用在Facebook上创建应用网站 Facebook标签添加平台按钮,然后输入指向其他域的网址。这是我的意思的一个例子:

enter image description here

如果您为每个字段使用唯一域,则最多可以使用5个不同的域。我已经使用多达3个域测试了这种技术,但我认为它应该适用于所有5个域。

注意:Facebook管理员功能会不时发生变化,因此所有这些都可能会发生变化