h5页面做微信公众号分享,一直出现无效签名,错误码:63002,invalid signature

刚接手参与一个h5页面的项目,需要分享到微信,能看到数据正常的写入,但是偏偏分享出去就没有了设置好的标题,描述,和图片,打开的链接也是自己分享时所在的页面url,期间一直有报无效签名的错,不管是用原生微信还是插件去写,都一样,找了两天都没找出问题;一开始以为是放到服务器就会没有,但是放上去后还是有这个报错。

后面老大给我们分析了一下,讲解了一下大概过程,用自己的想法画了个草图:

h5页面做微信公众号分享,一直出现无效签名,错误码:63002,invalid signature

 

大概就是客户端请求的时候,服务端会做一次计算,然后发送到微信服务器里面做验证,验证完后会生成配置参数返回,前端再写入到wx.config里面,整个过程大概就是这样;但是我和后端在做的时候漏了一个小部分,就是在客户端请求的时候,没有携带当前地址给服务端做计算,于是服务端收到微信服务器返回的config是错误的,所以wx.error一直会有无效签名的报错,所以,在get config的时候,把document.location.href作为参数发送给后端去计算,然后把这个地址加入公众号白名单,写入config后不再报错就完事了