微信授權報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說明:code作為換取access_token的票據,每次使用者授權攜帶的code將不一樣,code只能使用一次,5分鐘未被使用將自動過期.
所以第二次用的時候就不行了。我們正常的使用流程應該這樣:
相關文章
- 前端微信授權前端
- 教育授權certificate used to sign the license
- 微信授權登入
- 微信網頁授權網頁
- 微信授權管理功能
- 微信裡的”授權“
- 微信授權(Net Mvc)MVC
- 微信小程式——授權微信小程式
- 微信授權註冊或微信登陸 微信授權登陸 基於若依vue 實現Vue
- 微信網頁靜默授權網頁
- 微信小程式授權過程微信小程式
- java 微信授權登入配置Java
- vue 微信授權解決方案Vue
- 微信授權學習記錄
- Laravel 微信 Token 配置 與微信網頁授權操作Laravel網頁
- 微信網頁授權視訊教程網頁
- 微信 OAuth 授權域名支援兩個OAuth
- 微信小程式的授權登入微信小程式
- 微信公眾號開發 —— 微信網頁授權小記網頁
- 微信開發-微信網頁開發-授權多次回撥網頁
- Java微信授權登入小程式介面Java
- 微信授權和sdk加密演算法加密演算法
- 微信小程式踩坑日記1——呼叫微信授權視窗微信小程式
- Spring Security中實現微信網頁授權Spring網頁
- 微信授權獲取使用者的openid
- uni-app 微信小程式授權登入APP微信小程式
- ajax 實現微信網頁授權登入網頁
- 微信公眾號開發Django JSSDK授權DjangoJS
- 微信小程式授權登入最佳實踐微信小程式
- 微信網頁授權登入(c# Webform)網頁C#WebORM
- 關於微信公眾號靜默授權和非靜默授權的區別
- .NET Core企業微信網頁授權登入網頁
- Asp.Net Core 企業微信靜默授權ASP.NET
- 小程式登入、微信網頁授權(Java版)網頁Java
- 微信公眾號開發Django 網頁授權Django網頁
- C#微信網頁授權登入(NET MVC)C#網頁MVC
- 關於微信小程式使用者拒絕授權後不再彈出授權視窗微信小程式
- 第三方微信登入 | 靜默授權與網頁授權的實現網頁