当前位置 : 主页 > 网络编程 > PHP >

Ecshop微信第三方授权扫码登录接口文件源码

来源:互联网 收集:自由互联 发布时间:2021-06-30
《实现微信第三方授权扫码登录》一文中tiandi简单的叙述了一下如何实现微信第三方授权登录Ecshop系统以及公布了核心代码,主要是修改了用户的登录判定,即user.php这个文件 ?php /***
《实现微信第三方授权扫码登录》一文中tiandi简单的叙述了一下如何实现微信第三方授权登录Ecshop系统以及公布了核心代码,主要是修改了用户的登录判定,即user.php这个文件
 
<?php 
/***************************/
/* Wechat 登录              /
/***************************/
  
if (defined('WEBSITE') || defined('GETINFO'))
{
    global $_LANG;
    $_LANG['help']['APP_KEY'] = '在微信开发者平台申请的AppID';
    $_LANG['help']['APP_SECRET'] = '在微信开发者平台申请的AppSecret';
      
    $_LANG['APP_KEY'] = 'AppID';
    $_LANG['APP_SECRET'] = 'AppSecret';
      
    $i = isset($web) ? count($web) : 0;
    // 类名
    $web[$i]['name'] = 'wechat';
    // 文件名,不包含后缀
    $web[$i]['type'] = 'wechat';
      
    $web[$i]['className'] = 'wechat';
      
    // 作者信息
    $web[$i]['author'] = 'tiandi';
      
    // 作者QQ
    $web[$i]['qq'] = '';
      
    // 作者邮箱
    $web[$i]['email'] = '';
      
    // 申请网址
    $web[$i]['website'] = 'http://open.weixin.qq.com';
      
    // 版本号
    $web[$i]['version'] = '1.0';
      
    // 更新日期
    $web[$i]['date']  = '2014-12-6';
      
    // 配置信息
    $web[$i]['config'] = array(
        array('type'=>'text' , 'name'=>'APP_KEY', 'value'=>''),
        array('type'=>'text' , 'name' => 'APP_SECRET' , 'value' => ''),
    );
}
  
  
if (!defined('WEBSITE'))
{
    include_once(dirname(__FILE__).'/oath2.class.php');
    class website extends oath2
    {
        function website()
        {
            $this->app_key = APP_KEY;
            $this->app_secret = APP_SECRET;
              
            $this->scope = 'snsapi_login';
            //by tiandi authorizeURL是用来PHP打开微信登录时用,JS调用则不用authorizeURL。
            $this->authorizeURL = 'https://open.weixin.qq.com/connect/qrconnect';
  
            $this->tokenURL = 'https://api.weixin.qq.com/sns/oauth2/access_token';
            $this->refreshtokenURL = 'https://api.weixin.qq.com/sns/oauth2/refresh_token';
            $this->userURL = 'https://api.weixin.qq.com/sns/userinfo';
            $this->meth = 'GET';
        }
  
        function Code2Token($code)
        {
            $params  = 'appid='.$this->app_key.'&secret='.$this->app_secret.'&code='.$code.
                '&grant_type=authorization_code';
            $tokenurl = $this->tokenURL."?". $params;
            $token = $this->http($tokenurl, 'GET');
            $token = json_decode($token , true);
            return $token;
        }
  
        function GetRefreshToken($token)
        {
            $params  = 'appid='.$this->app_key.'&grant_type=refresh_token&refresh_token='.$token;
            $tokenurl = $this->refreshtokenURL."?". $params;
            $token = $this->http($tokenurl, 'GET');
            $token = json_decode($token , true);
            return $token;
        }
          
        function Getinfo($token,$openid)
        {
            $params = 'access_token='.$token.'&openid='.$openid;
            $userurl = $this->userURL."?". $params;
            $userinfo = $this->http($userurl, 'GET');
            return json_decode($userinfo , true);
        }
    }
}

网友评论