在线求微信jssdk为何一直签名验证失败。

Kingsama 2015-09-18 03:49:54
已经弄了两天了,还是不行.签名已经和官网的验证工具比对过了,下面贴代码,希望有经验的朋友能帮忙看看,在线等。
错误界面:

获取签名:

jsp调用界面:
...全文
1536 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuhui200820 2015-10-23
  • 打赏
  • 举报
回复
你看下URL是不是多了端口号
王_虎 2015-10-13
  • 打赏
  • 举报
回复
//获取当前页面的请求地址
String param=request.getQueryString();
String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getRequestURI();
if(param!=null){
url=url+"?"+request.getQueryString();
}


你要保证你的页面请求地址是否正确,我看了你的代码,发现应该是不正确的,你可以打印下,然后再和前台的alert(location.href.split('#')[0])确认,总会找出原因的,祝你好运。






invalid signature签名错误。建议按如下顺序检查:

确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。
确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。
确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括'http(s)://'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分。
确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
确保一定缓存access_token和jsapi_ticket。
确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
码无边 2015-09-25
  • 打赏
  • 举报
回复
检查下参数是否正确,看下请求的url地址是否有什么特殊符号
wyx100 2015-09-24
  • 打赏
  • 举报
回复
楼上正解。。。。
ximenwuji 2015-09-24
  • 打赏
  • 举报
回复
先到公共平台上看看签名是不是正确.正确的话用手工生成token的值在测试一下

3,143

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧