微信公众平台开发,微信JS-SDK对接invalid signature报错解决

原创 2016年08月31日 14:24:23

微信公众平台开发,微信JS-SDK对接invalid signature报错解决

问题说明
笔者在做微信JS-SDK学习过程中,用微信打开页面时总是弹出invalid signature的errmsg,很是让人困扰,笔者是跟着慕课上的视频一步步跟着做的,视频中老师挺流畅,可是到我这就error。于是,笔者在开发文档和网友提供的解决方法中苦苦搜寻,好在功夫不负有心人,经历一上午的苦苦挣扎,现总结解决方案如下:

解决方案
1.首先当然是根据开发文档排查错误(确认域名绑定正确,如果不准确会提示invalid domain),微信开发文档中将可能发生的错误以及解决办法列举的很详细,这个我不再赘述。 详情参考官方文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
解释一下,文档中的所有待签名参数按照字段名的ASCII 码从小到大排序(字典序),这句话的意思是对noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 这四个字段进行排序,只需按照文档中的顺序照着写即可,我相信有些人会跟我一样的困惑。
2.确认确认签名算法正确,在你的程序的http请求中找到下面两行代码:

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);  
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);

然后将true改为false
原因:通过查询curl用法我们可以看到上面两行代码是配置curl是否使用ssl的带证书(https协议)访问,一般我们是没有安装证书的(http协议),所以将true改为false就好!
3.再次查看开发文档的红色文字发现,他要求确保你获取用来签名的url是动态获取的,而笔者跟着视频中用的是静态url地址,改成下面代码后,终于看到了梦寐以求的OK!!!(根据网友提问来看,绝大多数都是此类问题)

$protocol = (!empty($_SERVER[HTTPS]) && $_SERVER[HTTPS] !== off || $_SERVER[SERVER_PORT] == 443) ? "https://" : "http://";
$url = $protocol.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];

相关文章推荐

微信公众号之:JSSDK接入以及invalid signature等常见错误问题

最近在搞微信公众号开发,进行到网页开发部分被坑了一天,最坑的问题就是invalid signature,而网上大部分解答这个问题的都没有说清楚,都直接丢文档。博主决定这样很不好。本文是博主结合自身遇到...

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

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

微信公众平台开发,微信JS-SDK对接invalid signature报错解决

微信公众平台开发,微信JS-SDK对接invalid signature报错解决 简介: 2015年大约1月多微信发布JS-SDK,功能强大,当然BUG也有不少 背景说明: 一:问题背景 笔者...

【微信公众平台开发】微信JS-SDK开发

根据微信开发文档步骤如下: 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 JS接口安全域名设置 mi.com(前面不用带www/http,域名必须备案过) ...

微信公众号开发流程(二)--微信公众平台对接BAE

1、打开微信开发者文档,找到开始开发,接入指南,页面往下翻找到PHP示例代码下载,解压后文件为wx_sample.php: 2、复制wx_sample.php到开发目录下面,更名为api.php...

微信公众号开发之对接微信公众平台

微信与服务器对接主要就是验证服务器的有效性这里我采用的是PHP的语言,直接上代码!(如果一次验证不成功多次验证即可)...
  • JOHNEW
  • JOHNEW
  • 2017年04月11日 09:34
  • 359

微信公众平台前端人员对接(微信拍照上传)

1.本篇主要介绍前端如何对接微信公众平台 2.示例选取微信拍照上传 1.确认设置安全域名(设置后,可在该域名下进行测试) (图片a) 2.获取到AppID和AppSecret (图片b) 3.通过Ap...

微信公众平台jsapi开发教程(2)获取timestamp,nonceStr,signature参数

微信公众平台jsAPI开发教程之获取timestamp,nonceStr,signature参数

微信公众平台开发:高级篇(Node.js发送微信 获取fakeID)

首先我们要获取这个发送微信人的信息,当你用控制台查看微信的接口你会发现,要有一个Fakeid,那么我们首要要获取Fakeid,其他就好办了.首先 我们先获取登录人的这个fakeid,防止后面还会用的....

PHP对接微信公众平台消息接口开发流程详解及实例(一)

这篇文章主要介绍了PHP对接微信公众平台消息接口开发流程,如何使用PHP版接口操作公众平台消息,需要的朋友可以参考下 一、写好接口程序 在你的服务器上上传好一个接口程序文件内容如下: 代码如下:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信公众平台开发,微信JS-SDK对接invalid signature报错解决
举报原因:
原因补充:

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