我有2个不同的服务器,其中一个有facebook的登录问题。经过几天和几个小时的调试,我意识到我只能从facebook会话阵列中获得一个会话。
使用Php-Fpm和Nginx的服务器也在服务器上安装了memcached。但永远不要在memcached上记录会话。
PS:当我们在服务器上安装ssl时,我意识到我的facebook登录无法正常工作。截至6月19日,我的Facebook应用摘要并未显示任何活跃用户。
在调试我的服务器之前我已经问了一个问题,所以这个问题与这个问题不同,但你可以在那里找到一些线索。
Codeigniter getuser() returns 0 after facebook dialog
Array
(
[fb_318641601624810_state] => a44e40cd3f78e7bd3ff39308aebf32ef
)
从hostgator主持
Array
(
[69a781bf56f6d6bfec49fd65c890f879_fb_136649313157374_state] => 6df72b81b5be574ea5b263ef97225b3b
[fb_319000531588917_code] => AQCAGxOs9dtrS9ppFC6NhLOiWc1moSLPMl0JewkEYYrBWKP7PvL9hv_LuV6vv3pmBzmawpQ8J5aj3hl9ZEiHEWlm5hw9EroLH_JOVXv3YvJcZfdzknQ1QscPnEQr8DgYbFOH-_S193p7Fv2PNd0U3IR1zE1Jb9YOjHorzWjW5iyrGzu2mF3g7Nmg2ONEibmlNQUKUwljcUC7lyzxeC6qjHMEkYqDm3-f8xWx7OjVtQQzFoRZzXgTOislJ7-JQ0LHnu4kZjT46Q0K64Bvz040ab2hwoRjyiUIgWwFpctuYMtqYxxRnt2nJXNRCn8oigF_LB0
[fb_319000531588917_access_token] => CAAEiIRleVzUBACpazeUMcTvULMpPZADu5QwiPpAU0RUmHGIFNkWsvfQKPCvBpC3ZA8C1IfuALn0YVyobGffp52o1ZBJbpiPSx66ZBO6MGoEZBhRkLjsjIZASRxvNyLhj5mqddxbcREZCznuYyeVLZAa97IiHA9ZC3arkJZBThtuYylLym8jG8zdTtaHIoG0oKKeb8ZD
[fb_319000531588917_user_id] => 608666757
)
我开始比较php.ini confs但没有运气,是否可能有这样的问题?或者我调试错了?因为我已经在这工作了2-3天,而且我几乎要疯了。
我的测试页面都是不同的测试应用程序。这些不是基于Codeigniter的测试页面,它们是简单的php sdk,我想知道如果问题出在Codeigniter上。
所以问题是我的nginx网站永远不会在会话数组中返回 access_token 。
你可以从这里比较我的phpinfo文件。
如果您可以帮助我调试此问题,我将非常高兴,现在没有人可以注册或登录我的Facebook登录。
如果用户已经过去授予了我的应用,那么只有一种情况可行。用户必须在访问令牌错误后再次单击登录。
答案 0 :(得分:0)
经过大量的调试和会话处理程序测试。我意识到主要的问题是PHP 5.5仍然保持状态会话。而query_string状态代码无法匹配状态代码。所以在PHP 5.5上总是出现CSRF问题。
我将使用php 5.4安装新服务器。会让你知道这个错误。