码迷,mamicode.com
首页 > 微信 > 详细

微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]

时间:2018-08-27 23:24:50      阅读:673      评论:0      收藏:0      [点我收藏+]

标签:type   授权   too   function   cti   tool   网页   ==   null   

先贴上代码:

    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 ]

标签:type   授权   too   function   cti   tool   网页   ==   null   

原文地址:https://www.cnblogs.com/laijinquan/p/9545180.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!