微信公众号网页授权多域名解决方案

一个公众号的域名授权数量是有限的,如果一个公众号需要绑定多个域名时怎么解决呢?这时候就需要用到域名中转

实现微信授权域名中转实例

  • 微信授权回调域名(中转域名):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 即可

你可能感兴趣的