Se ha utilizado el código de informe de autorización de WeChat, sugerencias: [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);
}

Cuando ingresamos por primera vez, podemos obtener los datos devueltos normalmente, pero no funcionará si los actualizamos.

Así es, el parámetro de código que usó por segunda vez se obtuvo por primera vez, y el código de WeChat solo se puede usar una vez:

Descripción del código: El código se usa como ticket a cambio de access_token. El código que lleva el usuario será diferente cada vez. El código solo se puede usar una vez y caducará automáticamente si no se usa durante 5 minutos.

Entonces no funcionará la segunda vez. Nuestro proceso de uso normal debería ser así:

 

Supongo que te gusta

Origin blog.csdn.net/baidu_39322753/article/details/108847415
Recomendado
Clasificación