thinkPHP5.0开发微信小程序登录接口signature验证失败
2017-01-11 16:38
771 查看
我用TP5开发微信小程序登录接口的时候,在校验签名signature那遇到了个坑,一直校验失败,找了很久才发现
原因是:tp的input方法会自动转移html字符,比如’”’转成了
本来的rawData
TP中input方法过滤过的rawData
所以校验方法需要这样写:
后续会给一个完整的登录流程代码(前端+ThinkPHP5.0)
原因是:tp的input方法会自动转移html字符,比如’”’转成了
"e;,所以导致了失败:
本来的rawData
{"nickName":"小小黑","gender":1,"language":"en","city":"Zhanjiang","province":"Guangdong","country":"CN","avatarUrl":"http://wx.qlogo.cn/mmopen/vi_32/iaFp2syscJNYgalastnQ3bnYt2l4cURSX7p7CeZ7SkNLa32yqBHsXITPibqrJl7z6mYYIibmCLlwtoOwCp0nMibIgA/0"}WYrl3b8xiPuJlOnY/zCXdw==
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==
所以校验方法需要这样写:
$signature2 = sha1(htmlspecialchars_decode($rawData) . $session_key); if ($signature2 !== $signature) return ret_message("signNotMatch");
后续会给一个完整的登录流程代码(前端+ThinkPHP5.0)
相关文章推荐
- 微信小程序 全站开发 thinkPHP 5.0+小程序商城
- dcloud打包ecshop程序的支付宝和微信接口开发
- 微信小程序开发记账应用实战服务端之用户注册与登录-基于Yii2描述
- 微信小程序开发之用户系统 一键登录 获取session_key和openid
- 微信小程序之使用本地接口开发
- 微信小程序开发调用接口
- 用thinkphp开发微信,接口配置总失败问题
- 微信端开发--登录小程序步骤
- 微信授权登录并获取用户信息接口开发
- php(ThinkPHP)实现微信小程序的登录过程
- 微信小程序 获取小程序码和二维码java接口开发
- 微信小程序开发(一) 微信登录流程详解
- 微信授权登录并获取用户信息接口开发
- Thinkphp 5.0版本整合微信扫码支付接口,含模型验证异步通知等完整实例
- 微信端开发--登录小程序
- 微信小程序开发一键登录 获取session_key和openid实例
- thinkphp3.2 开发微信接口1
- 微信实验十一、ThinkPHP5.0登录、验证及源码下载