微信sdk出现“invalid signature”

24 篇文章 0 订阅

今天遇到一个很棘手的问题,就是将页面分享给他人的时候,不断提示“invalid signature”,用尽各种方法还是不行。
因为之前写过很多次分享的代码,都是原样复制过来的,我确定代码没有问题,而且我将“jsapi_ticket={0}&noncestr={1}&timestamp={2}&url={3}”用官方的调试工具生成config,再给项目下断点,确定config是对的。
百思不得其解。
后来网上搜了一下,发现很多人提到config里的url跟当前页面的url必须匹配,于是各种断点,各种log,觉得url是没问题的。
最后,在我就要放弃的时候,将页面的url从微信的内置浏览器里copy出来,才发现页面的实际url比标准的url多了一个“/”斜杠,虽然同样可以访问,但是对严格wx验证来说,就是两个不同的url,于是出现了“签名不正确”。

总结

code里自动获取的是标准url

http://mp.leijizhu.com/MyCard/NewMem/Share

而程序员们写跳转路径的时候很有可能多些别的内容,比如一个斜杠,不仔细看还看不出来

http://mp.leijizhu.com//MyCard/NewMem/Share

但是wx会将这两个url作为两个不同的页面,说你签名里的url跟实际url不匹配

所以当看到“invalid signature”的时候要仔细确认一下签名里的url跟页面的当前url是不是一个字符都没有错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值