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

所需积分  0 5621
基于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");
}


展开

php-qrcode 在线生成二维码

基于phpqrcode+js实现的在线生成二维码工具(canvas版)。新增小程序版本,wxapp-qrcode文件夹,目前功能只有简版的生成二维码,代码下载后可在本地的微信开发者工具中导入查看。

jvalidator异步表单验证器

jvalidator是一个支持表达式的异步表单验证器插件,使用方法:第1步设置好表单,为需要验证的字段设置 data-jvalidator-pattern ,该内容是你可以使用的验证器<form id="form1

PHP+jQuery+MySql实现红蓝投票功能

这是一个非常实用的投票实例,应用在双方观点对抗投票场景。用户可以选择支持代表自己观点的一方进行投票,本实例为红蓝双方投票,通过前后台交互,直观展示红蓝双方投票数和所占比例,应用非常广泛。

微信APP支付PHP服务端代码封装

微信支付,微信支付PHP服务端,微信APP支付。服务器端完成统一下单,将数据传输给APP,APP调起返回的微信支付信息完成支付微信支付APP服务器端代码逻辑处理index.php:微信APP支付(服务器端完成统一下单,将数据传输给APP,A

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

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

Python批量爬取快手主页视频代码

这是一段Python批量爬取快手主页视频的代码示例,输入作者id就可批量爬取视频,有兴趣的可以研究研究。自动保存到D:/video/文件夹需要导入requests库(懂python的应该都知道吧)指令(win+r,cmd)pip 

ThinkPHP5电脑与手机支付扩展库

ThinkPHP5电脑与手机支付扩展库,在默认配置情况下,将文件夹拷贝到根目录即可。其中extend目录为支付扩展目录, application\extra\alipay.php为配置文件需要在配置文件application\ex

PHP记录和读取JSON格式日志文件实例代码

有时需要记录用户或者后端的某个操作事件的运行情况,可以使用后端语言如PHP将操作结果记录到日志文件中,方便测试和查找问题。尤其是这些在后端运行的而前端不能直接看到运行结果的,那么就可以用日志文件记录下来,如果你经常跟一些接口开发如支付宝接口

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

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

PHP隐藏文件真实下载地址源码/支持超大文件断点续传

非常简单完整全开源的一款关于隐藏文件真实下载地址的PHP程序源码。1、你服务器上有什么文件供别人下载的,但是又不想显示出路径,那么此源码将是你的不二之选2、你服务器上的文件,需要授权后,才能下载,那么,此源码将是你的不二之选3、你想让你的网

ThinkPHP5微信支付扩展库

ThinkPHP5微信支付扩展库使用说明在默认配置情况下,将文件夹**拷贝到根目录**即可, 其中 extend 目录为扩展目录需要在配置文件 /extend/wxpay/lib/WxPayConfig.php 中填写必要的参数如有退款操作

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

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

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

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

评论(0)条

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

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

    编辑推荐

    PHP+Mysql+jQuery找回密码实例
    抖音快手无水印解析APi代码实例