您现在的位置: 365建站网 > 建站教程 > 微信公众平台开发 > 7.3.3二次授权多个域名

7.3.3二次授权多个域名

此节有 443 人学习过     参与评论

微信公众平台后台网页授权地址只能填写一个域名,当有多个网站都需要使用网页授权来获得用户信息时,可以采用二次授权的方式来实现。
假设当前网页授权的地址为www.doucube.com ,而另外三个网站www.a.com ,www.b.com ,www.c.com 也希望能拿到用户信息,这种需求可以通过分配参数来实现。
http://www.a.com 想获取授权时,先跳转访问http://www.doucube.com/?domain=1 ,授权成功后再跳回http://www.a.com ,并带上授权access_token和用户openid参数。http://www.a.com 下的程序再使用授权access_token和用户openid自行拉取用户基本信息。
同理http://www.b.com 想获取授权时,访问http://www.doucube.com/?domain=2 ,http://www.c.com 想获取授权时,访问http://www.doucube.com/?domain=3 。依次类推。
相应代码实现如下:

 1 <?PHP
 2 require_once('weixin.class.php');
 3 $weixin = new class_weixin();
 4 $openid = "";
 5 if (!isset($_GET["code"])){
 6     $redirect_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
 7     $jumpurl = $weixin->oauth2_authorize($redirect_url, "snsapi_userinfo", "123");
 8     Header("Location: $jumpurl");
 9     exit();
10 }else{
11     $oauth2_info = $weixin->oauth2_access_token($_GET["code"]);
12     if ($_GET["domain"] == 1){
13         $href = "http://www.a.com/?accesstoken=".$oauth2_info['access_token']."&openid=".$oauth2_info['openid'];
14     }else if ($_GET["domain"] == 2){
15         $href = "http://www.b.com/?accesstoken=".$oauth2_info['access_token']."&openid=".$oauth2_info['openid'];
16     }else if ($_GET["domain"] == 3){
17         $href = "http://www.c.com/?accesstoken=".$oauth2_info['access_token']."&openid=".$oauth2_info['openid'];
18     }
19     Header("Location: $href");
20     exit();
21 }
22 ?>
 

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (443人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------
微信公众平台开发目录