一个公众号的域名授权数量是有限的,如果一个公众号需要绑定多个域名时怎么解决呢?这时候就需要用到域名中转
实现微信授权域名中转实例
- 微信授权回调域名(中转域名):www.test.com
- 需要授权回调域名1:www.test1.com
-
需要授权回调域名2:www.test2.com
在中转域名www.test.com目录下新建index.php,test1.php,test2.php三个文件
在index.php中编写发起授权代码
if(isset($_GET['type']) && !empty($_GET['type'])){
//发起授权
$appId = "微信APPID";
$redirectUrl = $_SERVER['REQUEST_SCHEME'] . '://'. $_SERVER['SERVER_NAME'] . '/' . $_GET['type'] . '.php';
$codeUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appId."&redirect_uri=".urlencode($redirectUrl)."&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
header("location: ".$codeUrl);
die;
}else{
echo "no";
}
在test1.php中编写获取授权信息并跳转业务地址(www.test1.com)
if(isset($_GET['code']) && !empty($_GET['code'])){
$code = $_GET['code'];
$url = "http://www.test1.com/";
header("location:".$url."?code=".$code);
}else{
echo 'no';
}
在test2.php中编写获取授权信息并跳转业务地址(www.test2.com)
if(isset($_GET['code']) && !empty($_GET['code'])){
$code = $_GET['code'];
$url = "http://www.test2.com/";
header("location:".$url."?code=".$code);
}else{
echo 'no';
}
根据如上方式就可以实现微信授权域名中转
访问 www.test1.com 站点时只需访问 www.test.com?type=test1 即可
访问 www.test2.com 站点时只需访问 www.test.com?type=test2 即可