收藏
回答

wx.config realAuthUrl invalid signature?

直接说问题,先看公众号配置

附加: js安全域名 例如: 线上是www.aa.com/bb 我配置了多个(js安全域名最多配置5个) www.aa.com/bb和www.aa.com

这里后端返回的nonceStr长度36位,这里我看到别人返回的一般是16位或者32位,(这里我也是有疑问的)

这里 官方说的是

  1. 签名用的 noncestr 和timestamp必须与 wx.config 中的 nonceStr 和timestamp相同。
  2. 签名用的 url 必须是调用 JS 接口页面的完整URL
  3. 出于安全考虑,开发者必须在服务器端实现签名的逻辑。

但是 附录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的第三点 又出现冲突

后端代码:


真机报错:




最后一次编辑于  2022-06-22
回答关注问题邀请回答
收藏

7 个回答

  • 山止川行
    山止川行
    08-19

    微信的文档里面一句跟 realAuthUrl 有关的都没有,写nm的文档

    08-19
    有用 1
    回复
  • 晚起看夕阳
    晚起看夕阳
    2023-05-18

    有解决嘛,测试环境突然出现这个问题,马上就要上线了着急!!!

    另外其实我想明白这个报错到底是什么意思

    realAuthUrl这个数组代表什么意思?

    2023-05-18
    有用 1
    回复
  • LauHing[666]
    LauHing[666]
    11-13

    自己的经验,可以按顺序排查

    1、如果是单页应用,需要取进入页面时的页面路径来验签,安卓动态取链接来延签

    2、检查进入链接时,是否有特殊字符,比如!'()*。因为有一个特殊场景,encodeURIComponent是不会转义这些字符的,如果是小程序webview打开H5链接的场景,参数的值有这些特殊字符,也会无法转义,然后进入到页面,微信就会拿第一个进入的链接来验签(待括号的),但是浏览器又会把括号转义,造成H5的js获取到的是括号被转义的链接(举例,没转义:a.b.com/f=(k),转义的a.b.com/f=%28k%29)


    11-13
    有用
    回复
  • 淡月微云
    淡月微云
    05-19

    2024/05/19,24年了,请问这个解决了吗?

    05-19
    有用
    回复
  • 犀利小肥龙
    犀利小肥龙
    03-05

    所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)。

    参考:https://developers.weixin.qq.com/community/minihome/doc/0002cc0dca87480b0a9d4f83651c00?page=1https://www.jianshu.com/p/e8eecf1f13c4

    03-05
    有用
    回复
  • 大熊
    大熊
    2023-05-08

    在页面alert(location.href.split('#')[0]) 看看是否一致

    2023-05-08
    有用
    回复 2
    • 大熊
      大熊
      2023-05-08
      你是ios手机吗
      2023-05-08
      回复
    • 大熊
      大熊
      2023-05-08
      排除法测试,  先把url写死测试, 看看有没有问题
      2023-05-08
      回复
  • 鵬
    2022-12-29

    请问解决了么 真的好坑啊

    2022-12-29
    有用
    回复
登录 后发表内容