微信公众号开发之JSSDK:记config:invalid signature 的错误排查

开发的公众号有上传图片的需求,故开始接入JSSDK。接入的基本流程不表,自行参考官方文档。在此记录config:invalid signature 的错误排查过程,因为是第一次开发,又没人可问,摸索了很久,此文权当给遇到同样问题的人一个借鉴。


参考本文的前提是你必须确认自己的生成的签名已经通过了微信官方的签名算法校验,这样就排除了是签名生成算法错误的可能。

排错过程如下:

1.最可能出错的地方就是用来生成签名的URL错了。在jsp页面代码加入:

<script>alert(location.href.split('#')[0]);</script>
将当前使用JSSDK的URL显示出来


2.将你用来生成签名的URL与上一步显示的URL对比,如果不一样证明是URL错了,使用下列代码获取请求的完整的URL再用来生成签名(包含了"?"后面的参数),本人后台用的是java

			StringBuffer url = request.getRequestURL(); 
			 if (request.getQueryString() != null) { 
			  url.append('?'); 
			  url.append(request.getQueryString()); 
			}
			String jsUrl = url.toString();

3.如果你的JS安全域填对了,那么基本是这样就搞定了,但实际上,经过第二步之后,接着报的错误是config:invalid url domain,那就是JS安全域没写对,注意安全域不需要填写“http://”,你只需要填写一个一级域名就行了,比如www.qq.com。


备注:对于有需要将页面分享的,获取完整的URL的代码可能还得添加截掉#之后的字符的代码,在此提一下。

本文为原创,未经允许不许转载。转载请注明出处。


你可能感兴趣的:(微信,Invalid,signature,微信公众号开发)