为了让大家不用重复造轮子,我写了一个TP控制器,继承控制器就可以直接用微信网页授权功能,但对于不是使用TP的小伙伴,可以直接在./Application/Home/Common/function.php看授权代码,再自己更改下就可以用了,这样速度也快点,希望能帮助到你们
我的源代码全部放在Github上,大家可以先去下载,然后跟着本教程就可以对接
Github:https://github.com/PowerDos/WeChatOAuth2.0
将全部文件放在网站目录下
配置你的公众号信息
进入文件./Application/Common/Conf/config.php 将你的公众号相关信息写入 <?php //这里填入的你域名 define("_URL_","www.baidu.com"); //这里填入你公众号的APPID define("_APPID_","你公众号的APPID"); //这里填入你公众号的APPSECRET define('_APPSECRET_','你公众号的APPSECRET'); return array( //'配置项'=>'配置值' 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => '127.0.0.1', // 服务器地址 'DB_NAME' => '', // 数据库名 'DB_USER' => '', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' => '3306', // 端口 'DB_PARAMS' => array(\PDO::ATTR_CASE => \PDO::CASE_NATURAL) , 'MODULE_ALLOW_LIST' => array('Home','Admin'),//模块 'DEFAULT_MODULE' => 'Home', 'URL_ROUTER_ON' => true, 'URL_ROUTE_RULES'=>array( 'index$' => 'Home/Index/index', //定义路由 ) );新建的控制器继承OAuth2Controller类即可实现微信网页授权认证功能 OAuth2Controller类的相关代码
<?php namespace Home\Controller; use Think\Controller; class OAuth2Controller extends Controller { public function _initialize(){ //判断是否验证过 if((session("?userOpenid")&&session("?userSex"))||(session("?userOpenid")&&session("?userNickname"))){ //已验证过 //如果你不需要用户绑定的话,可以跳过下面这步 if(!session("?userID")){ $this->redirect('这里填入要跳转的绑定页面','',2,"<h1>请先绑定账号再使用,将自动跳转到绑定页面</h1>"); } }else{ //进入验证 //方法放在./Application/Home/Common/function.php下 Check(); } } }相关认证代码放在目录./Application/Home/Common/function.php下(不是用TP写的小伙伴可以在这里参考下认证代码) 注意要创建相应的数据库和表。具体更改在function目录下更改getUserInfo()方法就好
注:本文为博主原创文章,未经博主允许不得转载