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

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

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

安装方法:

  1. composer require xxh/think-wxminihelper

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

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

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

  1. // wx配置
  2. 'wx'  => [
  3.     'url' => 'https://api.weixin.qq.com/sns/jscode2session',
  4.     'appid' => 'wxde3ea15f3a18f7f6',
  5.     'secret' => '53b1a4e12b88d78f3bcc2786fb72adcf',
  6.     'grant_type' => 'authorization_code'
  7. ]

2、使用checkLogin进行验证

  1. $code = input("code", '', 'htmlspecialchars_decode');
  2. $rawData = input("rawData", '', 'htmlspecialchars_decode');
  3. $signature = input("signature", '', 'htmlspecialchars_decode');
  4. $encryptedData = input("encryptedData", '', 'htmlspecialchars_decode');
  5. $iv = input("iv", '', 'htmlspecialchars_decode');
  6.  
  7. $wxHelper = new WXLoginHelper();
  8. $data = $wxHelper->checkLogin($code, $rawData, $signature, $encryptedData, $iv);

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

  1. $appid = 'wx4f4bc4dec97d474b';
  2. $sessionKey = 'tiihtNczf5v6AKRyjwEUhQ==';
  3. $encryptedData="CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM
  4.                 QmRzooG2xrDcvSnxIMXFufNstNGTyaGS
  5.                 9uT5geRa0W4oTOb1WT7fJlAC+oNPdbB+
  6.                 3hVbJSRgv+4lGOETKUQz6OYStslQ142d
  7.                 NCuabNPGBzlooOmB231qMM85d2/fV6Ch
  8.                 evvXvQP8Hkue1poOFtnEtpyxVLW1zAo6
  9.                 /1Xx1COxFvrc2d7UL/lmHInNlxuacJXw
  10.                 u0fjpXfz/YqYzBIBzD6WUfTIF9GRHpOn
  11.                 /Hz7saL8xz+W//FRAUid1OksQaQx4CMs
  12.                 8LOddcQhULW4ucetDf96JcR3g0gfRK4P
  13.                 C7E/r7Z6xNrXd2UIeorGj5Ef7b1pJAYB
  14.                 6Y5anaHqZ9J6nKEBvB4DnNLIVWSgARns
  15.                 /8wR2SiRS7MNACwTyrGvt9ts8p12PKFd
  16.                 lqYTopNHR1Vf7XjfhQlVsAJdNiKdYmYV
  17.                 oKlaRv85IfVunYzO0IKXsyl7JCUjCpoG
  18.                 20f0a04COwfneQAGGwd5oa+T8yO5hzuy
  19.                 Db/XcxxmK01EpqOyuxINew==";
  20. $iv = 'r7BXXKkLb8qrSNn05n0qiA==';
  21. $pc = new \think\wxmini\WXBizDataCrypt($appid, $sessionKey);
  22. $errCode = $pc->decryptData($encryptedData, $iv, $data );
  23. if ($errCode == 0) {
  24.     print($data . "\n");
  25. } else {
  26.     print($errCode . "\n");
  27. }


展开

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

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

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

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

ThinkPHP在线更新解决方案/PHP在线更新方案实例代码

ThinkPHP在线更新解决方案实例代码,基本实现了网站应用程序的在线更新功能。大家可以参考其中的实现思路,再略加完善,整合到自己的系统中,就能实现系统的在线更新功能。其中ThinkPHP版本为5.0,代码中的更新接口地址需要更具自己的实际

基于Vue.js的表格分页组件-BootPage

基于Vue.js的表格分页组件-BootPage,一款支持静态数据和服务器数据的表格分页组件,支持调整每页显示行数和页码显示个数,样式基于bootstrap。注:在使用ES6及vue-loader的vue项目中才能使用本组件,请求本地jso

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

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

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

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

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

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

强大的Laravel管理后台UI框架源码-Nazox

Nazox是一个Laravel7实现的管理后台模板,前端样式使用Bootstrap4 CSS库,身份验证和多语言支持。Nazox Laravel管理后台模板是基于一个简单的和模块化的设计,使它很容易定制一些可重用的组件。它有大量的可重用的和

ThinkPHP5微信支付扩展库

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

jvalidator异步表单验证器

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

PHP用户注册邮箱验证激活帐号实例

本实例演示如何使用PHP+Mysql完成注册帐号、发送激活邮件、验证激活帐号、处理URL链接过期的功能。网站注册会员时,注册完成后,系统会自动向用户的邮箱发送一封邮件,这封邮件的内容就是一个URL链接,用户需要点击打开这个链接才能激活之前在

PayPal支付接口PHP版实例

PayPal支付接口PHP版实例,php版本paypal支付接口开发源码。使用compurse连接paypal,可以自调节运费及其他服务费。

ThinkPHP5电脑与手机支付扩展库

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

评论(0)条

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

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

    编辑推荐