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

    xiaoxiao2021-03-25  69

    为了让大家不用重复造轮子,我写了一个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(); } } }

    Demo

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

    P.S.

    相关认证代码放在目录./Application/Home/Common/function.php下(不是用TP写的小伙伴可以在这里参考下认证代码) 注意要创建相应的数据库和表。具体更改在function目录下更改getUserInfo()方法就好

    注:本文为博主原创文章,未经博主允许不得转载

    转载请注明原文地址: https://ju.6miu.com/read-32769.html

    最新回复(0)