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

所需积分  0 4756
基于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-qrcode 在线生成二维码

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

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

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

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

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

Thinkphp6.0整合PayPal支付实例

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

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

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

jvalidator异步表单验证器

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

PayPal支付接口PHP版实例

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

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

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

PHP爬虫实例-4K壁纸爬取测试

PHP爬虫实例,4K壁纸爬取测试。本实例的目标网站是一个叫《彼岸网》的壁纸网站,使用技术是 QueryList(php爬虫库)。只要爬取.clearfix li>a>img元素里面的src属性和alt属性即可获得图片u

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

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

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

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

Artplayer视频JSON解析播放器源码

Artplayer视频JSON解析播放器源码支持弹幕json数据模式,支持两种返回模式:网页播放模式、json数据模式,json数据模式支持限制ip每分钟访问次数+UA限制+key密钥,也可理解为防盗链 ,本播放器带弹幕库。运行环境:推荐使

评论(0)条

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

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

    编辑推荐

    PHP+Mysql+jQuery找回密码实例