基于ThinkPHP5.0的微信小程序登录流程封装

所需积分  0 6845
基于ThinkPHP5.0的微信小程序登录流程封装

基于ThinkPHP5.0的微信小程序composer包。

安装方法:

composer require xxh/think-wxminihelper

你只需要两部就可以实现微信的登录验证,验证成功后会自动返回一个3rd_session,和用户的基本信息

这里要注意的是,获取3rd_session因为微信官网建议Linux下面读取/dev/urandom设备, 所以这段代码只适合用于linux系统,但是如果你需要在Windows系统上测试,那么可以修改 WXLoginHelper下的randomFromDev方法

1、在config.php配置文件中加入必须的配置

// wx配置
'wx'  => [
    'url' => 'https://api.weixin.qq.com/sns/jscode2session',
    'appid' => 'wxde3ea15f3a18f7f6',
    'secret' => '53b1a4e12b88d78f3bcc2786fb72adcf',
    'grant_type' => 'authorization_code'
]

2、使用checkLogin进行验证

$code = input("code", '', 'htmlspecialchars_decode');
$rawData = input("rawData", '', 'htmlspecialchars_decode');
$signature = input("signature", '', 'htmlspecialchars_decode');
$encryptedData = input("encryptedData", '', 'htmlspecialchars_decode');
$iv = input("iv", '', 'htmlspecialchars_decode');

$wxHelper = new WXLoginHelper();
$data = $wxHelper->checkLogin($code, $rawData, $signature, $encryptedData, $iv);

当然,如果你自己有一套登录验证流程,你也可以使用decryptData进行解密验证前面的正确性

$appid = 'wx4f4bc4dec97d474b';
$sessionKey = 'tiihtNczf5v6AKRyjwEUhQ==';
$encryptedData="CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM
                QmRzooG2xrDcvSnxIMXFufNstNGTyaGS
                9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+
                3hVbJSRgv+4lGOETKUQz6OYStslQ142d
                NCuabNPGBzlooOmB231qMM85d2/fV6Ch
                evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6
                /1Xx1COxFvrc2d7UL/lmHInNlxuacJXw
                u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn
                /Hz7saL8xz+W//FRAUid1OksQaQx4CMs
                8LOddcQhULW4ucetDf96JcR3g0gfRK4P
                C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB
                6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns
                /8wR2SiRS7MNACwTyrGvt9ts8p12PKFd
                lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV
                oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG
                20f0a04COwfneQAGGwd5oa+T8yO5hzuy
                Db/XcxxmK01EpqOyuxINew==";
$iv = 'r7BXXKkLb8qrSNn05n0qiA==';
$pc = new \think\wxmini\WXBizDataCrypt($appid, $sessionKey);
$errCode = $pc->decryptData($encryptedData, $iv, $data );
if ($errCode == 0) {
    print($data . "\n");
} else {
    print($errCode . "\n");
}


展开

Thinkphp6.0整合PayPal支付实例

Thinkphp6.0整合PayPal支付实例,需要执行 composer install 命令安装Thinkphp框架。具体功能可以查看已经整合好的代码。

基于jQuery的分页组件-jqPaginator分页组件

jqPaginator是一款基于jQuery的简洁、高度自定义的jQuery分页组件,适用于多种应用场景。用法很简单,首先引入jQuery和jqPaginator,之后就可以初始化分页了$('#id').jqPaginato

PHP微信扫码关注公众号并授权登录源码

PHP微信扫码登录看起来简单,但做起来有点麻烦,开发起来就会浪费很多的时间。PHP判断是否首次关注公众号,扫码关注公众号获取微信用户头像、openid和省市等信息源码。使用方法:1、把 wx 目录放到网站根目录2、登录https://mp.

基于Focusky.js的高逼格故宫介绍网页PPT展示效果

基于Focusky.js的高逼格故宫介绍网页PPT展示效果,Focusky.js是一款能制作网页格式的类似PPT模仿动画的JS插件,本例通过制作一款故宫介绍网页实现PPT播放效果,学习Focusky.js,有兴趣的可以下载下来共同学习一下。

Element UI表单设计及代码生成器

Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。仓库地址:https://gitee.com/mrhj/form-gene

PHP+Javascript实现拖动滑块完成拼图验证码

目前市面上做的好的拖动验证、用户行为验证有极验验证码、网易易盾验证等,这些第三方验证一般需要收费,本文给大家介绍一款免费的拖动验证码,使用PHP+Javascript实现。主要技术应用1、php抠图2、js canvas画图3、破解干扰4、

小人举牌图片表情生成代码实例

小人举牌图片表情生成代码实例,可以实时在线生成小人举牌的聊天表情图片文件。你可以用来做一个API接口,用于在线聊天软件使用。

基于ThinkPHP5.0的微信小程序登录流程封装

基于ThinkPHP5.0的微信小程序composer包。安装方法:composer require xxh/think-wxminihelper你只需要两部就可以实现微信的登录验证,验证成功后会自动返回一个3rd_se

元气动态壁纸在线下载PHP源码

元气动态壁纸在线下载PHP源码,直接上传到网站根目录即可。输入动态壁纸页面链接就可以一键获取动态壁纸的下载链接了。

wangEditor4使用表单提交实例

wangEditor官方的文档发现做起来比较麻烦,虽然说很方便,但是对新手来说还是不太好集成的自己的系统中,下面整理了一个创建隐藏input作为表单提交的组件事件的方法。用起来就方便多了。只需要在需要的位置放以下代码即可

基于vue开发的转盘抽奖实例源码/支持奖项动态配置

基于vue开发的转盘抽奖实例源码,支持奖项动态配置。提供了简单的旋转逻辑和奖项位置的动态计算,样式布局使用的是绝对单位,使用者根据自身情况调整,这里默认采用的是八个奖项的转盘背景,使用者如果需要改变奖项数量,请更换转盘背景图片。食用方法:进

PHP点餐系统/基于Vue开发的前后端分离点餐系统实例

PHP点餐系统,基于Vue开发的前后端分离点餐系统实例;本站已亲测,功能全面,可实现在线点餐。需要注意的是默认系统是部署在“phpecXfv”文件夹中的,如果需要部署在根目录,则注释掉根目录 index.php 文件的5-9行。并修改 /f

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐

    ThinkPHP5微信支付扩展库