微信jssdk签名错误invalid signature如何排查和解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1430个文字,预计阅读时间需要6分钟。
微信开发者使用微信JS-SDK时,常遇到各种错误,尤其是permission denied这类问题。通常,他们会建议开启调试模式,例如:
wechat.config({ debug: true});
几乎每一个开发用于微信公众号页面的工程师都遇到过微信jssdk报的各种错误,通常是permission denied,类似这样:
通常他们会建议你把debug选项开开,比如这样:
wechat.config({ debug: true, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: ['scanQRCode'], });
结果你又遇到了invalid signature。类似这样:
签名不对,这是什么意思?可是这签名是后端给过来的,我怎么知道它为什么不对?后端用的是标准算法,不可能不对啊。
查网上各种教程,或者微信官网,他们总是不厌其烦地告诉你,让你去检查签名算法,然而根本没有用!
90%的这种情况下,其实只是一个原因:你用于计算签名的URL地址不对,跟算法没有任何关系,完全不必浪费时间去看什么签名算法。
微信要求:如果我们需要在页面中调用微信的某个方法,则必须用这个页面的URL地址获取签名。
本文共计1430个文字,预计阅读时间需要6分钟。
微信开发者使用微信JS-SDK时,常遇到各种错误,尤其是permission denied这类问题。通常,他们会建议开启调试模式,例如:
wechat.config({ debug: true});
几乎每一个开发用于微信公众号页面的工程师都遇到过微信jssdk报的各种错误,通常是permission denied,类似这样:
通常他们会建议你把debug选项开开,比如这样:
wechat.config({ debug: true, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: ['scanQRCode'], });
结果你又遇到了invalid signature。类似这样:
签名不对,这是什么意思?可是这签名是后端给过来的,我怎么知道它为什么不对?后端用的是标准算法,不可能不对啊。
查网上各种教程,或者微信官网,他们总是不厌其烦地告诉你,让你去检查签名算法,然而根本没有用!
90%的这种情况下,其实只是一个原因:你用于计算签名的URL地址不对,跟算法没有任何关系,完全不必浪费时间去看什么签名算法。
微信要求:如果我们需要在页面中调用微信的某个方法,则必须用这个页面的URL地址获取签名。

