我使用CakePHP 2.4.我的网站上有OAuth登录信息.%99.5的登录成功,但%0.5失败.我好几个月都有这个错误.我尝试了很多东西来调试和记录,但我仍然没有解决问题.虽然大部分要求都很好,但我需要解决一小部分问题.
场景是这样的:
oauth_token在用户的会话中aaa1234CakePHP创建PHPSESSID cookie并在此cookie中保存会话ID.
我将用户重定向到Twitter服务器,用户确认我的应用程序
oauth_token和oauth_verifier和获得access_tokens.会话ID是aaa1234.一切都很好.oauth_token在当前会话中找不到用户.当我检查会话ID时,我看到ID已更改,ID现在已更改bbb2345对于场景b:
现在看起来用户有新的会话ID.oauth_token在新的会话中找不到.但请注意,旧会话数据存在于/tmp/sessions/文件夹中.
会话不存在会话ID cookie aaa1234.但是我在2天前设置的另一个跟踪cookie存在于cookie中.
我检查用户代理.
当用户第一次到来并且用户从Yahoo服务器返回时,它是相同的.
此故障情况发生在Chrome,Firefox,移动浏览器或其他浏览器中,因此我无法控制浏览器类型.
我应该检查更多以进行诊断?
我的CakePHP core.php设置:
Configure::write('Session', array( 'defaults' => 'cake' ));
Configure::write('Session.cookie', 'MYPHPSESSID');
Configure::write('Session.timeout', 120);
Configure::write('Security.level', 'medium');
Run Code Online (Sandbox Code Playgroud)
其他设置是默认文件中提到的:https: //github.com/cakephp/cakephp/blob/2.5/app/Config/core.php#L182
编辑:通过使用此答案,我检查了cookie.20%的错误用户禁用了cookie.我问过个人和用户确认的cookie选项.但似乎其他用户没有禁用cookie.还有一些用户使用Android WebViews访问我的网站.在WebView客户端中,我确信我不会禁用cookie.此外,99%的WebView用户都可以成功使用网站.