Closed dullme closed 8 years ago
@dullme 建议使用一个干净的环境,清除所有的 cookie 后进行测试,这个报错原因是带回来的 state 值 与 cookie 中的 state 值匹配不上所致。
这些是$clientUser qq传回来的值,我不知道如何输出这个 state值?我想比对一下,因为我是用了一个新的laravel 5.2 项目 然以直接 接入qq也是同样的问题,就是 第一次登录必定会失败,删除cookie后可以正常登录,我还是不清楚具体问题的原因,如果能打印出 你说的 那个state值 看一下我可能会好懂一些!
User {#469 ▼
"id" => "1AE29162841F182BF91A445570C5"
"nickname" => "你好,再见!"
"name" => "你好,再见!"
"email" => null
"avatar" => "http://q.qlogo.cn/qqapp/101294860/1AE29162841F182BF91A445570C5/100"
"original" => array:18 [▼
"ret" => 0
"msg" => ""
"is_lost" => 0
"nickname" => "你好,再见!"
"gender" => "男"
"province" => ""
"city" => "安道尔城"
"year" => "1990"
"figureurl" => "http://qzapp.qlogo.cn/qzapp/101294860/1AE29162841F182BF91A445570C5/30"
"figureurl_1" => "http://qzapp.qlogo.cn/qzapp/101294860/1AE29162841F182BF91A445570C5/50"
"figureurl_2" => "http://qzapp.qlogo.cn/qzapp/101294860/1AE29162841F182BF91A445570C5/100"
"figureurl_qq_1" => "http://q.qlogo.cn/qqapp/101294860/1AE29162841F182BF91A445570C5/40"
"figureurl_qq_2" => "http://q.qlogo.cn/qqapp/101294860/1AE29162841F182BF91A445570C5/100"
"is_yellow_vip" => "0"
"vip" => "0"
"yellow_vip_level" => "0"
"level" => "0"
"is_yellow_year_vip" => "0"
]
"token" => AccessToken {#447 ▼
#attributes: array:3 [▼
"access_token" => "A506FB549101DB**_27AF150**_20CAF"
"expires_in" => "7776000"
"refresh_token" => "302A99E510068A**_AC60BA**_FF9D8F"
]
}
] }
@dullme state 值在 url 里面,Laravel 可以使用 Input::all()
得到,另外我猜想原因可能是这样的:
“第一次登录必定会失败” 这里的第一次不是太清楚如何定义的?是重新建立项目还是怎么样的第一次?
超哥 已经解决了是我自己的问题,就是顶级域名和二级域名的关系,登录的时候访问的是顶级域名,而qq回调的时候是带www的二级域名,所以才导致的问题,我现在顶级域名重定向为www的二级域名就OK了!谢谢!
@dullme 那太好了,毕竟下次别人遇到就好解决了。
我换其他帐号也是一样 微博也是, 但是清除一下cookie 后就可以正常了,然后qq正常后 微博也正常了,只要其中一个不正常那么 两个都是不正常的, 我测试了一下 IE正常 EDGE不报错但是 没登录成功 这是什么问题啊? php 代码
报错
Whoops, looks like something went wrong. 1/1 InvalidStateException in AbstractProvider.php line 170: