1. 程式人生 > >微信網頁授權報code been used, hints: [ req_id: XYv1Ha07042046 ]

微信網頁授權報code been used, hints: [ req_id: XYv1Ha07042046 ]

web 獲取 UNC color 微信網頁授權 oauth image 授權 use

先貼上代碼:

    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 ]