微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]
Posted 1O(∩_∩)O1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]相关的知识,希望对你有一定的参考价值。
先贴上代码:
public function index() { $code = input(\'get.code\'); $tool = new Wxtool(); if (empty($code)) { $url = \'http://www.layton.top/wx/Receive\'; $tool -> getCode($url, 2); }else { $tool -> getWebAccessToken($code); } }
方法:
public function getCode($url,$type=1) { $redirect_uri = urlencode($url); $scope = null; if($type == 1) { $scope = \'snsapi_base\'; }else{ $scope = \'snsapi_userinfo\'; } $code = \'https://open.weixin.qq.com/connect/oauth2/authorize?appid=\' . APPID .\'&redirect_uri=\' . $redirect_uri . \'&response_type=code&scope=\' . $scope . \'&state=STATE#wechat_redirect\'; header("location:" . $code); } public function getWebAccessToken($code) { $url = \'https://api.weixin.qq.com/sns/oauth2/access_token?appid=\' . APPID . \'&secret=\' . APPSECRET . \'&code=\' . $code . \'&grant_type=authorization_code\'; $data = $this -> http_curl($url, \'get\'); dump($data); }
我们第一次进入的时候是可以正常获取返回数据的,但是刷新一下就不行了,这个是为什么呢?
没错,他第二次用的code参数是第一次获取的,微信的code只能用一次:
所以他第二次用的时候就不行了。我们正常的使用流程应该这样:
以上是关于微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]的主要内容,如果未能解决你的问题,请参考以下文章
微信公众号开发之网页授权登录及code been used 解决!
小程序获取openid 出现null,{"errcode":40163,"errmsg":"code been used, hints: [ req_