1、計算された署名は WeChat が提供するサンドボックスと一致しています: http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
2. 問題を解決するために 2 つの方法を使用しようとしましたが、同じエラーが発生しました。 1) URL をローカルからサーバーに渡し、ajax を通じてサーバーの json データを取得し、wx のコンテンツを入力します。 .config; 2)、サーバーから取得します この訪問へのリンク
3. nginx をリバース ドメイン名プロキシとして使用しますが、アップストリーム用に処理されています
結論: WeChat の JSSDK にはバグがある疑いがあります
可能需要检查
1) 你是否有在服务器全局缓存微信的jsticket的,一个新的jsticket获得后会刷新掉原来的jsticket(也包括access_token)
2) url是否一致,包括query string等
3) nonceStr和timestamp是否与签名时一致
我也怀疑有bug, 在android下invalid signature , 在ios下是正确的。而且在官方调试页面是通过的, 不知道楼主现在解决了没有?
也许是
url
传入的问题,建议wx.config
是通过后台生成,然后写到前台的。比如我的
然后
楼主的问题解决了吗,我也是同样的问题,反正对比的接口,也用微信的测试工具测试了,就是一直出invalid signature
签名和官方的一样、 URL也是通过location.href.split('#')[0]获取的。。 也是一直提示 config:invalid signature 公众号的JS接口安全域名也是配置OK,就是不行。。 求大神帮助、
测试地址:http://weixin.zhjckx.com/ApiWeiXin/JsSdk
清看我的另一人回答:
/q/1010000002502269/a-1020000002549180X2X
我遇到的情况是,在生成签名时获取当前url时,用了laravel框架的URL:full()方法。结果这个方法会把url中的querystring的顺序重排。比如你访问时的url是
,用URL:full()获取的结果是
改成老老实实用微信官方例子中的:
就OK了。
亲自修改的,测试ok的。原因是因为官方里的httpGet函数不能用。
讲 jssdk.php 里的这两句