Localhost facebook登录不适用于较低级别的URL

时间:2012-07-19 03:57:35

标签: php facebook codeigniter facebook-php-sdk facebook-login

提前感谢您阅读。

我一直在使用facebook登录(php和javascript sdk方法)几年,我正面临着我正在开发的新应用程序的特殊问题。

我的localhost中的应用程序配置为虚拟目录,如下所示:

http://localhost/myapp/

在Facebook上,我的应用程序的以下设置指向该URL:应用程序域,Facebook登录网站,Facebook上的应用程序(https和http)和移动网络。

当我执行登录过程并将redirect_uri指向http://localhost/myapp/时,它工作正常,cookie已设置,我可以对图api进行查询。

当我尝试使用另一个重定向uri(例如http://localhost/myapp/user_controller/register(将用户添加到数据库)时,问题就出现了。虽然它位于Facebook上配置的应用程序URL中,但SDK会输出错误消息(OAuthException |必须使用活动访问令牌来查询有关当前用户的信息。| Code 2500)。

我想出来,要解决这个问题一段时间,我必须去facebook应用页面:apps.facebook.com/myapp。每次我的access_token过期时我都必须这样做,因为这个应用程序不打算在facebook里面,我认为这不是解决这个问题的最佳方法。

我希望我们能够找到一个解决这个问题的好方法,这个问题可以帮助未来的开发人员。

我正在使用CodeIgniter(我已经使用了大约一年)和Facebook PHP SDK(直接从github官方仓库下载)作为CI库。

再次感谢。

1 个答案:

答案 0 :(得分:1)

在身份验证期间,您不会得到该错误。

我很确定您在代码中出现错误,导致无法在code端点上交换access_token的{​​{1}},因此您最终使用了无效.../register