微信登陆失败redirect_uri 域名与后台配置不一致 10003(thinkphp)

public function index(){

$redirect_url = 'http://www.ceshi.com/ceshi';//设置域名时没有http://,在获取code时必须有,否则将一直显示10003错误

$a = $this->baseAuth($redirect_url);

}

//设置网络请求配置

public function _request($curl,$https=true,$method='GET',$data=null){

// 创建一个新cURL资源

$ch = curl_init();

// 设置URL和相应的选项

curl_setopt($ch, CURLOPT_URL, $curl); //要访问的网站

curl_setopt($ch, CURLOPT_HEADER, false); //启用时会将头文件的信息作为数据流输出。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //将curl_exec()获取的信息以字符串返回,而不是直接输出。

if($https){

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //FALSE 禁止 cURL 验证对等证书(peer's certificate)。

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); //验证主机

}

if($method == 'POST'){

curl_setopt($ch, CURLOPT_POST, true); //发送 POST 请求

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //全部数据使用HTTP协议中的 "POST" 操作来发送。

}

// 抓取URL并把它传递给浏览器

$content = curl_exec($ch);

if ($content === false) {

return "网络请求出错: " . curl_error($ch);

exit();

}

//关闭cURL资源,并且释放系统资源

curl_close($ch);

return $content;

}

/**

* 获取用户的openid

*/

public function baseAuth($redirect_url){

//1.准备scope为snsapi_base网页授权页面

$baseurl = urlencode($redirect_url);

//公众号

$appid = '***********';//填写自己的appid

$appsecret = '***************';//填写自己的appsecret

$snsapi_base_url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$baseurl.'&response_type=code&scope=snsapi_base&state=YQJ#wechat_redirect';

//2.静默授权,获取code

//页面跳转至redirect_uri/?code=CODE&state=STATE

$code = $_GET['code'];

if( !isset($code) ){

header('Location:'.$snsapi_base_url);

}

//3.通过code换取网页授权access_token和openid

$curl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';

$content = $this->_request($curl);

$result = json_decode($content,true);

return $result;

}

你可能感兴趣的:(微信登陆失败redirect_uri 域名与后台配置不一致 10003(thinkphp))