找回密码
 立即注册

QQ登录

只需一步,快速开始

微信JSSDK初始化失败,报错config:invalid signature

0
回复
408
查看
[ 复制链接 ]

22

主题

31

帖子

211

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
211
2018-8-6 17:22:16 显示全部楼层 阅读模式
引起这个错误如果不是服务器写的签名计算有问题,那一般都是由于传递的参数url引起的。
这里有几种情况:

1.使用了微信的接口来取用户信息

因为这个过程中,页面需要刷新一次,通过https://open.weixin.qq.com/connect/oauth2/authorize来进行授权。这时再跳转回来后,会在原地址上增加两个GET参数(随着微信未来的版本变化,可能参数会发生变化),分别为code和STATE。而这个时候,如果你直接把window.href作为url发送给服务器去进行JSSDK的授权验证,那就会发生上述错误。

这是因为微信最终会根据当前页面的url来计算加密串,并与之和服务器上取回来的加密串进行对比。而url实际已经不同了,自然就会发生加密结果不一致的问题。

为了解决这种问题,可以在发送前,对url地址进行处理:

  1. encodeURIComponent(location.href.split('#')[0]);
复制代码


就可以解决这个问题了

2.其他情况

只要确认当前页面的url地址和你申请JSSDK授权发送的url一致就可以了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则