打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
thinkPHP5.0开发微信小程序登录接口signature验证失败

我用TP5开发微信小程序登录接口的时候,在校验签名signature那遇到了个坑,一直校验失败,找了很久才发现

原因是:tp的input方法会自动转移html字符,比如’”’转成了 &quote; ,所以导致了失败:

本来的rawData

{"nickName":"小小黑","gender":1,"language":"en","city":"Zhanjiang","province":"Guangdong","country":"CN","avatarUrl":"http://wx.qlogo.cn/mmopen/vi_32/iaFp2syscJNYgalastnQ3bnYt2l4cURSX7p7CeZ7SkNLa32yqBHsXITPibqrJl7z6mYYIibmCLlwtoOwCp0nMibIgA/0"}WYrl3b8xiPuJlOnY/zCXdw==
  • 1

TP中input方法过滤过的rawData

{"nickName":"小小黑","gender":1,"language":"en","city":"Zhanjiang","province":"Guangdong","country":"CN","avatarUrl":"http://wx.qlogo.cn/mmopen/vi_32/iaFp2syscJNYgalastnQ3bnYt2l4cURSX7p7CeZ7SkNLa32yqBHsXITPibqrJl7z6mYYIibmCLlwtoOwCp0nMibIgA/0"}WYrl3b8xiPuJlOnY/zCXdw==
  • 1

所以校验方法需要这样写:

$signature2 = sha1(htmlspecialchars_decode($rawData) . $session_key);

if ($signature2 !== $signature) return ret_message("signNotMatch");
  • 1
  • 2
  • 3

后续会给一个完整的登录流程代码(前端+ThinkPHP5.0)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
php验证码识别_php简单验证码_php登录验证代码_php 验证码类
PanDownload登录提示账号登录失败,获取bdstoken失败
qq登录创建文件夹失败,无法正常安装,请高手指教,谢谢!
“场所码”如何申请?扫码记录如何查看?这份使用指南请收好→
HMAC-SHA1 Signatures
Вязание - ваше хобби" №10 2018г
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服