摘要:简直是个神坑,被坑哭了,所以记录一下把微信和改用存,为了避免并发导致次数被用完,加了锁,为了避免以后扩展,改用了分布式锁,改完用并发测试了下,一切正常,。
简直是个神坑,被坑哭了,所以记录一下!
把微信token和ticket改用redis存,为了避免并发导致token次数被用完,加了锁,为了避免以后redis扩展,改用了分布式锁,改完用100并发测试了下,一切正常,perfect。
于是兴匆匆的上线,访问invalid signature ?
确认微信后台各种配置,再上线,invalid signature ?
按官方签名算法确认一遍,还是 invalid signature
我已经开始不相信自己的代码了,换成官方提供的代码,尼玛 invalid signature
后端打印参数,到官网生成signature,发现是一致的,excuse me?
打开微信调试工具,提示升级,升级后打开白板,重启白板,MD,全世界都在与我作对???
然后就已经不想了,看到微信就想吐了...
然后搜了下,说是url要一致,我访问的url就是后端的url,没问题啊,但是还是微信访问后复制了下url,握草,握草,握草
你tm不之不觉的修改了老子的url,老子能不invalid signature吗?
域名还没下来,所以用的IP测试,结果发现IP访问微信会自动跳转并添加一些参数,简直是日了狗了,域名就不存在这个问题
快速解决办法
1、打印参数到官网地址确认签名正确(不一致就按官网步骤找原因)
2、测试时打印url确保完全一致
官方说明:
invalid signature签名错误。 建议按如下顺序检查: (1)确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。 (2)确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。 (3)确认url是页面完整的url(请在当前页面alert(location.href.split("#")[0])确认),包括"http(s)://"部分,以及"?"后面的GET参数部分,但不包括"#"hash后面的部分。 (4)确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。 (5)确保一定缓存access_token和jsapi_ticket。 (6)确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去"#"hash部分的链接(可用location.href.split("#")[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38579.html
摘要:你的页面还是无法正常使用微信函数的。这样似乎就解决了微信签名失败的问题。但是,我们又遇到了另外一种情况在微信小程序里用内嵌的网页,在安卓下也报和错误。 几乎每一个开发用于微信公众号页面的工程师都遇到过微信jssdk报的各种错误,通常是permission denied,类似这样: showImg(https://segmentfault.com/img/bVbm8YB?w=320&h=...
摘要:微信分享可以实现自己的网页在微信自定义图标,标题,还有描述,还可以分享到朋友圈,分享到微信群,分享给朋友等操作。 微信JSSDK分享可以实现自己的网页在微信自定义图标,标题,还有描述,还可以分享到朋友圈,分享到微信群,分享给朋友等操作。 showImg(https://segmentfault.com/img/bVbiGlk?w=1214&h=1079); 上图就是,左侧是分享到朋友圈...
摘要:本篇文章就记录我的做微信分享信息定制的过程和踩坑总结。但是,这就要求在每个组件中都加微信分享代码,会导致维护困难。 在微信浏览器内打开任何网页,若不配置分享接口,微信会默认使用如下信息作为分享信息: 默认标题:HTML的title 默认连接:当前页面的地址,即location.href 默认图片:会取当前页面body内最前面的一张符合条件的图片(尺寸必须大于300px × 300px...
摘要:基于微信公众号开发的页面使用接口,由用户分享给用户,用户再次分享这个页面时,不能成功分享。 基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B再次分享这个页面时,不能成功分享。问题出在用户B收到的分享链接与用户A打开的链接不同A用户的链接为 http://test.com/test.html B用户收到的连接 http://test.com/test.h...
摘要:基于微信公众号开发的页面使用接口,由用户分享给用户,用户再次分享这个页面时,不能成功分享。 基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B再次分享这个页面时,不能成功分享。问题出在用户B收到的分享链接与用户A打开的链接不同A用户的链接为 http://test.com/test.html B用户收到的连接 http://test.com/test.h...
阅读 3402·2021-11-15 11:39
阅读 1506·2021-09-22 10:02
阅读 1287·2021-08-27 16:24
阅读 3577·2019-08-30 15:52
阅读 3372·2019-08-29 16:20
阅读 810·2019-08-28 18:12
阅读 529·2019-08-26 18:27
阅读 696·2019-08-26 13:32