All Projects → wulongtao → Think Wxminihelper

wulongtao / Think Wxminihelper

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

Labels

Projects that are alternatives of or similar to Think Wxminihelper

Jk Build Html
TP生成静态站点类,build static site, thinkphp class, build html page
Stars: ✭ 24 (-84.11%)
Mutual labels:  thinkphp
Kantphp2
KantPHP Framework V2
Stars: ✭ 75 (-50.33%)
Mutual labels:  thinkphp
Shopxo
ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ)、APP、多仓库、多商户,遵循MIT开源协议发布、基于ThinkPHP6框架研发
Stars: ✭ 1,795 (+1088.74%)
Mutual labels:  thinkphp
Think Wechat
企业微信SDK for ThinkPHP5
Stars: ✭ 34 (-77.48%)
Mutual labels:  thinkphp
Fast Think
高效、快速的thinkphp开发工具
Stars: ✭ 75 (-50.33%)
Mutual labels:  thinkphp
Phps.shop Api
如花拼团商城_TP5_VUE_小程序
Stars: ✭ 90 (-40.4%)
Mutual labels:  thinkphp
Thinkphp5
基于ThinkPHP5实现微信自动登录、微信支付、支付宝支付、Web推送、阿里云短信、极光推送、二维码生成
Stars: ✭ 673 (+345.7%)
Mutual labels:  thinkphp
Think Casbin
专为ThinkPHP定制的Casbin的扩展包,Casbin是一个功能强大,高效的开源访问控制库。
Stars: ✭ 138 (-8.61%)
Mutual labels:  thinkphp
Wtcms
基于thinkphp的内容管理系统,可快速搭建个人博客、公司学校官网、新闻类站点。
Stars: ✭ 75 (-50.33%)
Mutual labels:  thinkphp
Pearproject
pear,梨子,轻量级的在线项目/任务协作系统,远程办公协作
Stars: ✭ 1,610 (+966.23%)
Mutual labels:  thinkphp
Think
ThinkPHP Framework ——十年匠心的高性能PHP框架
Stars: ✭ 7,681 (+4986.75%)
Mutual labels:  thinkphp
Easy Short Url
ESU 短网址,可在 Laravel、Yii、ThinkPHP 等框架 Composer 包引入,也可以独立搭建短网址站点
Stars: ✭ 71 (-52.98%)
Mutual labels:  thinkphp
Layui Admin
基于layui和thinkphp6.0的快速后台开发框架。快速构建完善的管理后台,内置表单、表格的php生成,以及完善的RBAC权限管理。
Stars: ✭ 101 (-33.11%)
Mutual labels:  thinkphp
Sublime Thinkphp
thinkphp 的 sublime 快速补全插件
Stars: ✭ 9 (-94.04%)
Mutual labels:  thinkphp
Think Admin
ThinkPHP 6.0 与 Ant Design Pro Vue 基础前后分离权限系统
Stars: ✭ 131 (-13.25%)
Mutual labels:  thinkphp
Medusa
🐈Medusa是一个红队武器库平台,目前包括扫描功能(200+个漏洞)、XSS平台、协同平台、CVE监控等功能,持续开发中 http://medusa.ascotbe.com
Stars: ✭ 796 (+427.15%)
Mutual labels:  thinkphp
Thinkphp Inaction
《ThinkPHP实战》随书代码
Stars: ✭ 77 (-49.01%)
Mutual labels:  thinkphp
Thinkphp Bjyadmin
ThinkPHP 整合 Auth 权限管理、支付宝、微信支付、阿里 OSS、友盟推送、融云即时通讯、云通讯短信、Email、Excel、PDF 等等,基于 ThinkPHP 扩展了大量的功能,而不改动 ThinkPHP 核心,非常方便的升级、移植和使用。
Stars: ✭ 1,733 (+1047.68%)
Mutual labels:  thinkphp
Thinkphp5 Wechat
微信 SDK for thinkphp5, 基于 overtrue/wechat
Stars: ✭ 133 (-11.92%)
Mutual labels:  thinkphp
Think Builder
A command line toolit to build applications' CRUD/mvc scaffold for thinkphp v6. 用于生成 thinkphp v6 增查改删脚手架代码的命令行工具。
Stars: ✭ 105 (-30.46%)
Mutual labels:  thinkphp

think-wxminihelper

基于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");
}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].