欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-13 12:58:33
...

[PHP]代码

<?php 
/***************************/
/* Wechat 登录              /
/* by tiandi 2014.12.6      /
/***************************/  

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);
		}
	}
}
相关标签: php