表单提交导致auth更改后重定向

时间:2011-12-16 22:29:55

标签: facebook authentication oauth facebook-php-sdk

在最近的auth更改后,一个应用程序停止正确提交表单,我无法弄清楚原因。这是我的情况:

我有多个应用程序都指向相同的代码库。每个应用程序都带有一个单独的标识符,所以我知道要显示的应用程序。我的所有应用程序都运行得很好,除了一个,这恰好是一个较旧的应用程序(我在夏天创建它,其余的是在过去几周内创建的,在迁移后)。

我使用的是php sdk (3.1.1),我的所有表单都有action="mysite.com/controller/function"代替"apps.facebook.com/appname/controller/function"的操作。截至昨天(12月15日),当我的一个应用程序提交表单时,接收页面未找到任何facebook连接,因此正在中断。

再次,对于我的大多数应用,接收功能都可以通过$this->facebook->getUser()进行连接。它只是一个应用程序返回null。

这怎么可能?我的所有应用程序都使用相同的代码库,并且我已经以编程方式确保他们的迁移都像这样,设置适用的应用程序:

 migrations=
    {
     "disable_auth_methods":true,"secure_stream_urls":false,"december_rollup":true,"apprequest_
    counts":true,"page_tab_iframe":true,"read_notifications_permission":false,"recent_activity"
    :true,"app_profile_page_deprecation":false,"gdp_v2":false,"page_hours_format":false,"graph_
    batch_api_exception_format":false
}

我的应用设置有问题吗?另外,相同的代码库可以为两个应用程序提供服务并让它们采取不同的行为吗?我觉得我已经改变了我找不到的每个应用程序设置。

顺便说一下:我知道有可能让行动成为apps.facebook.com/nameofapp,但它并没有解决为什么这种方法有效而现在却没有解决的问题。我想解决这个问题。

1 个答案:

答案 0 :(得分:1)

我明白了。我完全错过了一个设置,事后看来它非常简单。我的非工作应用的画布网址是:

http://www.mysite.com

我的表格行动是:

http://mysite.com

所有其他应用都有一个没有www.的画布网址,而且工作正常。显然当它从www.转到mysite.com时,它将丢失其facebook连接并需要重定向到权限页面。

我希望这可以帮助其他人。