應用服務器client.php
<?php
//應用服務器的信息 www.abc.com
$appid='xxx';
$secret='xxxx';
if (!isset($_GET['code'])) {//到代理服務器
$client='http://www.abc.net/client.php';//應用服務器地址
$server='http://www.def.com/server.php';//代理服務器地址
$url=$server.'?dl='.urlencode($client);
header("location:$url");exit;
}
$code=trim($_GET['code']);
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$access=file_get_contents($url);
$data=json_decode($access,true);
$access_token=$data['access_token'];
$url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid=OPENID&lang=zh_CN';
$user=file_get_contents($url);
var_dump($user);
?>
代理服務器server.php
<?php
//代理服務器信息 www.def.com
$appid='xxxx';
$secret='xxxx';
if (!isset($_GET['code'])) {
//獲取需要授權的地址
$dl=trim($_GET['dl']);
$server='http://www.def.com/server.php';
$redirect_uri=urlencode($server);
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_userinfo&state='.$dl.'#wechat_redirect';
header("location:$url");exit();
}
$code=trim($_GET['code']);
$state=trim($_GET['state']);
$state=$state.'?code='.$code;
header("location:$state");
?>
普通授權獲取用戶信息
$appid='';
$secret='';
if (!isset($_GET['code'])) {
$redirect_uri=urlencode('xxxxxxxxx');
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect';
header("location:$url");exit();
}
$code=trim($_GET['code']);
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$access=file_get_contents($url);
$data=json_decode($access,true);
$access_token=$data['access_token'];
$url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid=OPENID&lang=zh_CN';
$user=file_get_contents($url);
var_dump($user);
靜默授權
$appid='xxx';
$secret='xxxxxxxx';
if (!isset($_GET['code'])) {
$redirect_uri=urlencode('xxxxxxxxx');
$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri='.$redirect_uri.'&response_type=code&scope=snsapi_base&state=1#wechat_redirect';
header("location:$url");exit();
}
$code=trim($_GET['code']);
$url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$access=file_get_contents($url);
$data=json_decode($access,true);
var_dump($data);
