微信的文档里面一句跟 realAuthUrl 有关的都没有,写nm的文档
wx.config realAuthUrl invalid signature?直接说问题,先看公众号配置 [图片] 附加: js安全域名 例如: 线上是www.aa.com/bb 我配置了多个(js安全域名最多配置5个) www.aa.com/bb和www.aa.com [图片] [图片][图片] 这里后端返回的nonceStr长度36位,这里我看到别人返回的一般是16位或者32位,(这里我也是有疑问的) 这里 官方说的是 签名用的 noncestr 和timestamp必须与 wx.config 中的 nonceStr 和timestamp相同。签名用的 url 必须是调用 JS 接口页面的完整URL。出于安全考虑,开发者必须在服务器端实现签名的逻辑。但是 附录5-常见错误及解决方法 invalid signature 3.确认 url 是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括[代码]'http(s)://'[代码]部分,以及'?'后面的 GET 参数部分,但不包括'#'hash后面的部分。 6. 确保你获取用来签名的 url 是动态获取的,动态页面可参见实例代码中 php 的实现方式。如果是 html 的静态页面在前端通过 ajax 将url传到后台签名,前端需要用 js 获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。 这俩点和上面的 第 2 点 和 附录5的第三点 又出现冲突 后端代码: [图片] [图片] [图片] [图片] 真机报错: [图片]
08-19