URL含特殊字符,微信JS-SDK接口config时报invalid signature签名错误

原创 2015年11月21日 17:03:38

        微信JS-SDK接口config时报invalid signature签名错误,经过排查,可以肯定是当前url地址传得有问题。因为项目需要,我们的url是带参数的:

        http://www.plusonego.com:8089/FeProjectGZ/attendance?department_id=2&position_id=3&project_id=11&userid=yujiajj

$string = "jsapi_ticket=$jsapi_ticket&noncestr=$noncestr&timetamp=$timestamp&url=$url";
        $signature = sha1($string);
        $signPackage = array(
            "appId"     => $this->corpid,
            "nonceStr"  => $noncestr,
            "timestamp" => $timestamp,
            "url"       => $url,
            "signature" => $signature,
            "rawString" => $string
        );
         而根据可见,signPackage的生成参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。他们的连接都用&,所以怀疑是不是我们的URL中含有&这个特殊字符没有处理。将js AJAX过来的URL打印出来发现&变成了“&amp”,原来AJAX自动把特殊字符&转成了ASCII码……

          知道之后我们唯一要做的,就是将&amp替换回&。再传过去就没问题了。

$url = str_replace("&", "&", $url);





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

微信JSSDK分享接口中wx.config 出现invalid signature问题的解决办法

本文介绍微信分享开发中,wx.config中出现invalid signature的解决方法,希望对出现同样问题的朋友有所帮助。...

微信JS-SDK 调用config 出现invalid signature签名错误的部分解决方法

网络中常见的问题,都有提到这里就不说了,我只提一下自己出现invalid signature签名错误的解决方法 在我解决了一系列参数值的获取问题后,在传入配置的时候还是出现了invalid signa...
  • et198901
  • et198901
  • 2016年02月18日 09:31
  • 10454

微信js sdk invalid signature签名错误 问题解决。

转自:http://my.oschina.net/u/2308739/blog/371414 1 2 3 /**最近在做微信js sdk...
  • wyx100
  • wyx100
  • 2015年06月06日 15:52
  • 4923

微信JS SDK使用权限签名算法 jsapi_ticket

生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_toke...
  • Truong
  • Truong
  • 2015年08月01日 21:42
  • 35338

微信JSSDK之签名生成

最近做一个小游戏,需要使用微信分享,经查询,无法直接在网页中直接添加分享按钮进行添加,需调用微信接口定制微信的分享按钮,具体步骤详见微信JSSDK开发文档,通过查找资料,实践如下: 1.在微信公众平...

微信开发config:invalid signature

IOS8以上,WKWebview内核下, 应该需要严格签名url 去掉后面 # 号后面,否则会报错,config:invalid signature,在安卓下或UIWebview 都不会报错,微信...

微信测试号的URL和Token原理

在我们提交URL和Token信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数: Signature(微信加密签名)、timestamp(时间戳)、nonce(随机数)、ech...

微信企业号开发之获取jsapi_ticket并生成JS-SDK权限验证签名

在做企业号开发的时候,很有可能会调用微信提供的js接口(JS-SDK),    那么使用JS-SDK必须生成权限验证签名,而生成权限验证签名又必须依赖jsapi_ticket, 而获取jsapi_ti...

JS实现web签名

jSignature 在网页上手写签名的插件(html5手写签名) 在IE7~IE8这种不支持HTML5的浏览器上,是利用Flash嵌入的方式实现的签名处理; 在支持的HTML5的浏览器上默...

微信自定义分享获取签名

在上一篇文章中介绍了微信自定义分享对页面进行的配置。想要实现页面的这些配置,需要后台获取相应的值传到页面中。   那么那些值都是如何获取的呢?   如需获取页面中的值,APPID是公众号的唯一标识(存...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:URL含特殊字符,微信JS-SDK接口config时报invalid signature签名错误
举报原因:
原因补充:

(最多只允许输入30个字)