基于ThinkPHP3.2.3的微信OAuth2.0微信网页授权

WeChatOAuth2.0

基于ThinkPHP3.2.3的微信OAuth2.0网页授权认证模块

Step 1

将全部文件放在网站目录下

Step 2

配置你的公众号信息

  • 进入文件./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', //定义路由
    )
);

Step 3

新建的控制器继承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();
        }
    }
}

Demo

<?php 
namespace Home\Controller;
class DemoController extends OAuth2Controller {
    public function index(){
        $this->show("这个是测试案例");
    }
}

P.S.

相关认证代码放在目录./Application/Home/Common/function.php下(不是用TP写的小伙伴可以在这里参考下认证代码)

注意要创建相应的数据库和表。具体更改在function目录下更改getUserInfo()方法就好

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自cr180大神DiscuzX2.5完整目录结构【source程序文件库】 /source/admincp后台...
    cndaqiang阅读 891评论 1 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,821评论 25 709
  • 接着上一篇文章:java-RabbitMQ指导1 Advanced Connection options-连接的高...
    前山饭店阅读 1,010评论 0 1
  • 今天大盘一开盘就下跌得很厉害,我一下子没有反应过来,后来中午看资讯的时候才知道,明天要开两会,市场忧虑弥漫。而且我...
    Jesse建熹阅读 285评论 0 1