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

所需积分  0 4732
基于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隐藏文件真实下载地址源码/支持超大文件断点续传

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

jQuery年终奖抽奖系统代码

公司年终奖抽奖系统,基于jQuery,兼容Chrome,火狐等现代浏览器,其他浏览器未做兼容性测试

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thinkphp6.0整合PayPal支付实例

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

评论(0)条

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

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

    编辑推荐