【Exception】微信JS-SDK接入报错: invalid signature 签名无效 解决思路

【Exception】微信JS-SDK接入报错: invalid signature 签名无效 解决思路

 

一、问题描述

1、接入微信 JS-SDK实现分享链接时,显示公司LOGO,便于品牌效应传播。

2、遇到一个问题: JS-SDK 签名一直无法通过,按照 【附录5-常见错误及解决方法】逐一排除后,且本地加密后签名和【微信 JS 接口签名校验工具】得出的结果一致的情况下,仍然报错: "invalid signature" 。

【Exception】微信JS-SDK接入报错: invalid signature 签名无效 解决思路_第1张图片

 

 

3、心情如下图:

【Exception】微信JS-SDK接入报错: invalid signature 签名无效 解决思路_第2张图片

 

 

二、问题解决

1、确认要分享的页面URL是js动态获取的,而非静态域名地址。

  • 正确: var url = location.href.split('#')[0];
  • 错误: var url = "www.abc.com/xx.html".split('#')[0];

 

2、确认当前测试服务地址和JS安全域名IP地址一致。

  • 如:js 安全域名地址为 abc.com ,对应ip为: 11.22.33.44
  • 本地启动 Tomcat,测试地址为: http://localhost:999/xx.html 这种情况下,获取到的signature 签名,和 【微信 JS 接口签名校验工具】得出的结果是一样的,但是会仍然报错: "invalid signature" 。

 

三、问题总结

1、"invalid signature" 这个问题,对于新手来说,按照【附录5-常见错误及解决方法】逐一排除后,仍未解决,会有点郁闷,怀疑人生的! 这里记录下,希望对后续遇到此类问题的朋友能有所启发。

2、不知道为啥微信不支持静态域名地址分享!!!

3、若问题描述,解决思路表述不清晰,不理解,可私信联系,交流沟通,谢谢。

 

 

参考资料: 微信JS-SDK说明文档

        微信 JS 接口签名校验工具

        微信web开发者工具

 

 

 

 

 

 

 

你可能感兴趣的:(Bug/Exception)