微信公众平台开发,微信JS-SDK对接invalid signature报错解决
2015-01-16 17:11
477 查看
微信公众平台开发,微信JS-SDK对接invalid signature报错解决
简介:2015年大约1月多微信发布JS-SDK,功能强大,当然BUG也有不少
背景说明:
一:问题背景
笔者在做微信分享页面内容功能,即微信页面右上角的分享按钮时遇到错误,流程如下点击微信公众平台菜单某按钮,进入share分享的页面,右上角分享此share页面,报错:invalid signature
二:名词说明
controller :为WEB中控制器层,每一个controller用来响应一次请求,返回一个页面,主要用于页面跳转,例如struts,springmvc
三:invalid signature错误
没看过官方文档的请先看官方文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
在通过config接口注入权限验证配置步骤,生成签名需要的url属性错误,易导致invalid signature报错
解决方案一:
具体方法:
url填写的类型错误,如果url填写的是jsp的静态路径如:http://www.123.com/hhhh/share.jsp,需要把url修改为跳转到share.jsp页面的控制器controller路径。修改以后,一部分用户可解决此错误,如仍不能解决,请看下面方案是否适合你
解决方案二:
说明:
还有一部分用户url为controller路径仍会出错,请先确认你的分享页面跳转来源为微信公众平台的菜单,即点击微信公众平台菜单某按钮,就进入要分享的页面,此方案只适合满足该条件者。
分析流程:
点击微信公众平台菜单时,请求微信服务器,微信服务器回调controller路径,微信公众平台返回share.jsp页面到客户端并显示。
出错原因:
url值已经设置为controller的值,如http://www.123.com/hhhh/toshare
微信服务器在相应菜单点击事件时,在回调的路径上会加上一些参数如openid等,如此会把http://www.123.com/hhhh/toshare调整为另一个url,此url可以通俗理解为“已加工的url”,如此导致签名所需url和微信当前页面url不同,大家可以在share页面右上角点击复制链接,把连接粘贴出来查看,会发现其url确实和自己本地项目的controller路径不同。
解决方法:
在后台再建立一个中转的控制器controller方法C2,在微信回调请求的controller方法C1中,调C2方法,通过C2跳转至分享页面。说白了,就是多建立一个controller中转一次跳转请求。
此时C2的controller路径为“未加工的路径”,保证页面上签名的url值和此"未加工的路径"相同即可
作者:墨菲:
日期 :2015.1.16
微信号:twilight_2046
QQ :361918593
说明 :恭迎大神指点/欢迎菜鸟转载
原文:http://blog.csdn.net/boss_2012/article/details/42779481
相关文章推荐
- 微信公众平台开发,微信JS-SDK对接invalid signature报错解决
- 【微信公众平台开发】微信JS-SDK开发
- 微信js sdk invalid signature签名错误 问题解决。
- 【微信公众平台开发】微信JS-SDK开发,信公众平台js-sdk
- 微信js sdk invalid signature签名错误 问题解决
- 关于微信公众号开发【微信JS-SDK】报错:config invalid url domian
- 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
- 微信公众平台开放JS-SDK(微信内网页开发工具包)
- 微信 js sdk C# 版 invalid signature 问题解决
- config:invalid url donmain 微信 config:invalid url donmain解决办法,微信上传图片,js-sdk
- java微信开发引入jssdk一直报invalid url domain错的其他原因
- 微信-js sdk invalid signature签名错误 问题解决
- 微信js sdk invalid signature签名错误 问题解决。
- thinkphp微信开发之jssdk图片上传并下载到本地服务器
- 实战微信JS SDK开发:贺卡制作与播放(1)
- thinkphp微信开发之jssdk拉取卡券及卡券的核销
- 实战微信JS SDK开发:贺卡制作与播放(2)
- 用c#开发微信 (10) JS-SDK 基本用法- 分享接口“发送到朋友”
- thinkphp微信开发之jssdk图片上传并下载到本地服务器
- 伪命题:微信开放JS-SDK,助力网页开发