昨天晚上在调试接入QQ登录的时候,感觉一切文件路径以及配置参数都没什么问题了,准备在线上测试的时候,却一直无法登录成功,返回的错误码100007
,错误提示是:The state does not match. You may be a victim of CSRF
, 也就是state错误,可以锁定错误原因是$_REQUEST['state'] == $_SESSION['state']
。
在点击QQ登录按钮后,弹出QQ登录新窗口
我把此时的URL复制下来了:https://graph.qq.com/oauth2.0/show?which=Login&display=pc&response_type=code&client_id=101666584&redirect_uri=http%3A%2F%2Facm.webturing.com%2FJudgeOnline%2FQQ_Oauth%2Fcallback.php&state=e82996d687eb64ae2505468c6ec22b66&scope=get_user_info,add_share,list_album,add_album,upload_pic,add_topic,add_one_blog,add_weibo
,
此时state是:e82996d687eb64ae2505468c6ec22b66
点击QQ登录后就报错了: