错误信息:{ "errMsg": "config:invalid signature" }
错误原因:微信分享的时候,需要在页面中配置签名,时间戳,随机数等信息,但是生成的签名和微信公众号的签名不一致。
解决方案:
     按照如下顺序检查:
          1.确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign  页面工具进行校验。
2.确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。
3.确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括'http(s)://'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分。
4.确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
5.确保一定缓存access_token和jsapi_ticket。
另:知识点补充,由于自己也是第一次接触,本以为签名中用到的那个url地址是一个静态的项目中的地址,所以在生成的签名和用户点击的时候生成的签名不一致。
     
      正确的签名思路:生成的签名是一个动态的url地址+时间戳(timestamp)+随机数( nonceStr)生成的。而如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。如果是jsp页面,则需要通过systemUrl+request.getQueryString()来获取。

微信网页开发异常——签名失败相关推荐

  1. 微信网页开发——随手笔记

    一.公众号设置      1.账号详情:           公众号的头像.二维码.名称都是必须填写的,如果没有这些信息,是不能进行网页开发的. 2.功能设置           JS接口安全域名: ...

  2. 微信网页开发 分享功能剖析

    微信网页开发 分享功能剖析 步骤一:绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 步骤二:引入J ...

  3. 微信网页开发wx.chooseImage多图上传、预览(已解决)

    需求: 1.调用微信jsSDK选图或者拍照(选图支持选多图) 2.选图或者拍照后提供预览,但不把图片下载到服务器 3.提交表单的时候再一并提交,把图片下载到服务器 4.支持编辑页面删除已选图片(此图已 ...

  4. H5微信网页开发总结(授权,分享,地图)

    H5微信网页开发总结(网页授权,JS-SDK分享.地图) 目录: 网页授权 分享 地图 参考文档https://developers.weixin.qq.com/doc/offiaccount/OA_ ...

  5. html微信开发样式,微信网页开发样式库

    概述 WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页开发量身设计,可以令用户的使用感知更加统一.在微信网页开发中使用 WeUI,有如下优势: 1.同微信客户端一致的 ...

  6. 微信网页开发配置整理

    真是人越大记忆越差,断断续续做了几个微信小程序和微信h5项目,然鹅小程序的开发流程有些都忘了,最近刚做完一个微信h5网页开发的项目,所以赶紧记录下开发中需要注意的点,给自己往后回顾,同时也给第一次接入 ...

  7. ##iOS中的微信支付 支付验证签名失败

    iOS中的微信支付 支付验证签名失败 今天要在项目中添加微信支付,iOS端的所有东西都已经按照文档搞好了,可就是跳转到微信的时候显示"支付验证签名失败",可是安卓端的都没有问题,就 ...

  8. 微信网页开发-长按二维码无法识别问题解决

    微信网页开发-长按二维码无法识别问题解决 参考文章: (1)微信网页开发-长按二维码无法识别问题解决 (2)https://www.cnblogs.com/Tylerrrkd/p/9153949.ht ...

  9. 微信昵称乱码 mysql_微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案...

    微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案如下: 问题产生原因:由于数据库及属性一致设为utf8,而utf8只支持1-3个字节.当用户昵称为emoji表情时,获取用户基本信 ...

最新文章

  1. java 负数变正数 +
  2. 实现Qemu aarch32虚拟开发板ping www.baidu.com
  3. “蓝桥杯”软件大赛入门训练4道题
  4. linux定义别名出错,Linux自定义别名alias重启失效问题
  5. SyncStudy Poster
  6. 如何兼容自训练与预训练:更高效的半监督文本分类模型
  7. java获取服务器状态_获取远程服务器上 Java 进程的运行状态
  8. [007] 详解 .NET 程序集
  9. boke练习: spring boot: security post数据时,要么关闭crst,要么添加隐藏域
  10. mysql动态变量查询_MySQL将变量传递给动态查询
  11. TDateTime转
  12. 因为链接服务器 IP 的 OLE DB 访问接口 SQLNCLI 无法启动分布式事务
  13. [Hive]-架构篇
  14. Win10画图实用小功能------反色
  15. c语言判断算符优先级,C语言算符优先级(精华)
  16. 【Python 爬虫系列非专业教学】(3)手把手教你获取猫眼电影 Top 100 榜单
  17. 查询商品分类id为10或11的商品对应的商品信息
  18. iOS 权限提示语国际化
  19. ABP应用开发(Step by Step)-下篇
  20. 大话数据结构系列之链队列结构(十二)

热门文章

  1. httpclient报错:Invalid use of BasicClientConnManager: connection still allocated. Make sure to release
  2. Codeforces Round #717 (Div. 2) 1516 A. Tit for Tat(模拟)
  3. cannot find method ‘value‘
  4. c语言vc怎么改变背景板颜色,vc6.0中更改对话框背景色和字体颜色
  5. Android冒险之旅-14-RecycleView(线性,网格,瀑布流)
  6. 华硕主板如何设置开机自启_华硕主板每次开机都进bios 华硕主板开机总是自动进入了BIOS设置界面怎么办?...
  7. 真无线蓝牙耳机哪款适合新手?数码发烧友最全盘点,高实用性蓝牙耳机
  8. 全国各省份名义GDP、实际GDP、GDP平减指数(以2008年为基期,2008-2018年)
  9. 二元一次方程组计算机及过程,二元一次方程组计算题过程及答案
  10. 三天玩转win7,你也想?