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

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

 

一、问题描述

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

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

 

 

3、心情如下图:

 

 

二、问题解决

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开发者工具

 

 

 

 

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值