zoukankan      html  css  js  c++  java
  • 多个域名使用一个微信公众号授权

    应用服务器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);
    

      

  • 相关阅读:
    JavaScript 的历史
    阿里面试题:
    DBA_Oracle基本体系架构(概念)
    java内存管理机制
    HashMap的内部实现机制,Hash是怎样实现的,什么时候ReHash
    HashMap实现原理分析
    堆栈
    数据结构:HDU 2993 MAX Average Problem
    数学(欧拉函数):UVAOJ 11426 GCD
    搜索(DLX):HOJ 1017
  • 原文地址:https://www.cnblogs.com/mracale/p/9037188.html
Copyright © 2011-2022 走看看