zoukankan      html  css  js  c++  java
  • 微信网页授权报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只能用一次:

    所以他第二次用的时候就不行了。我们正常的使用流程应该这样:

  • 相关阅读:
    游戏与必胜策略
    中国剩余定理
    中国剩余定理
    欧几里得和扩展欧几里得
    欧几里得和扩展欧几里得
    51nod 1028 大数乘法 V2
    51nod 1028 大数乘法 V2
    51nod 1029 大数除法
    51nod 1029 大数除法
    51nod 1166 大数开平方
  • 原文地址:https://www.cnblogs.com/laijinquan/p/9545180.html
Copyright © 2011-2022 走看看