扫码关注官方订阅号
84669人学习
65727人学习
82984人学习
467778人学习
498837人学习
471966人学习
256484人学习
152542人学习
224170人学习
139536人学习
81804人学习
85022人学习
11944人学习
20001人学习
60816人学习
5487人学习
15007人学习
2150人学习
6980人学习
194925人学习
359900人学习
1142人学习
19058人学习
3206人学习
180550人学习
48569人学习
17603人学习
40936人学习
1049人学习
750人学习
32909人学习
然后哦 用这个校验和输出的是一致的也就是说 签名应该没问题吧 但是为什么手机上会显示无效呢 那个环节又出错了
学习是最好的投资!
这两天也遇到这个问题,查了两天发现是一个特别二的失误:我一直把开放平台的appid当作公众平台的在用,直到我膝盖中了一箭……
当前url:http://www.xx.cn/h5/share.html 非常简单,生成签名的url一致.
微信校验签名也通过
代码部分如上,
可在微信里却还一直报invalid 签名!!从上看到下,没找到这类问题的实际解决方案和原因!求指教啊!!
我今天也碰到了这个问题,各种参数与签名均一致,但就是报签名错误。
最后你猜怎么着,最后居然发现是因为页面中有一个嵌套了腾讯视频的 iframe ,因为 js 对 iframe 大小进行调整时改变了 src 值导致 iframe 上一个请求被取消并再次加载,然后就导致微信 js 接口报 invalid signature 的错误了。
最后去掉了 iframe 自带的 src 属性,等 js 调整好大小后一次性加载,就解决了。
奇葩吧,一个 iframe 里嵌套的视频,看上去毫不相关的东西居然影响了微信的 js 接口的签名验证。
timestamp也要检查一下
我给说一下我微信分享二次签名遇到的问题,我后台获取参数时候出的问题,原来通过map遍历参数,然后在拼接一下,导致参数顺序不对,签名有误。改正后的方式如下:
if(request.getQueryString()!=null) { uri+="?"+request.getQueryString(); }
再次签名就正确了。主要原因还是签名的url和alert(location.href.split('#')[0])的url不一致。
遇到这个问题 已经解决 方案来自本站网友 疯狂的蜗牛
问题:获取微信的jsapi_ticket有两个URL地址一个是:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=wx_card另一个是:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi注意后面的type
我用成了第一个type=wx_card微信卡券的地址 改用用第二个地址type=jsapi。。问题解决
你可以检查下是不是这个问题
大概就是当前URL和生成签名的URL不一致问题吧,说下我的问题。我用ajax请求的后台config参数,和LZ一样,签名没问题但是signature还是不可用,微信官方的文档里面的错误都筛过了,后来发现导致URL不一致的原因是GET和POST请求的问题,GET请求无法获取URL中&后的参数,导致URL不一致。So,很蠢的错误,但是可能也是比较容易被忽略的吧
使用的是官网提供JS-SDk PHP Demo,出现invaild signature 打印地址时发现url为http://
解决办法:在类文件jssdk.php中修改$url
public function getSignPackage($host,$uri) { $url = "http://".$host.$uri; ...... } \\\\$jssdk->GetSignPackage($_SERVER['HTTP_HOST'],$uri = $_SERVER['REQUEST_URI']);
本地程序生成的 签名 跟 官网通过的签名工具生成的签名 对比是一致的,但还是提示 invalid signature , 请试试看把access_token.json跟jsapi_ticket.json内容都清空
如果是第三方公众号开发者,在使用JS SDK时获取ticket(https://api.weixin.qq.com/cgi...)时的请求参数access_token要使用authorizer_access_token。由于我之前使用的第三方公众号component_access_token导致出现了楼主类似的问题。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部
这两天也遇到这个问题,查了两天发现是一个特别二的失误:
我一直把开放平台的appid当作公众平台的在用,直到我膝盖中了一箭……
当前url:http://www.xx.cn/h5/share.html 非常简单,生成签名的url一致.
微信校验签名也通过
代码部分如上,
可在微信里却还一直报invalid 签名!!
从上看到下,没找到这类问题的实际解决方案和原因!求指教啊!!
我今天也碰到了这个问题,各种参数与签名均一致,但就是报签名错误。
最后你猜怎么着,最后居然发现是因为页面中有一个嵌套了腾讯视频的 iframe ,因为 js 对 iframe 大小进行调整时改变了 src 值导致 iframe 上一个请求被取消并再次加载,然后就导致微信 js 接口报 invalid signature 的错误了。
最后去掉了 iframe 自带的 src 属性,等 js 调整好大小后一次性加载,就解决了。
奇葩吧,一个 iframe 里嵌套的视频,看上去毫不相关的东西居然影响了微信的 js 接口的签名验证。
timestamp也要检查一下
我给说一下我微信分享二次签名遇到的问题,我后台获取参数时候出的问题,原来通过map遍历参数,然后在拼接一下,导致参数顺序不对,签名有误。
改正后的方式如下:
再次签名就正确了。主要原因还是签名的url和alert(location.href.split('#')[0])的url不一致。
遇到这个问题 已经解决 方案来自本站网友 疯狂的蜗牛
问题:获取微信的jsapi_ticket有两个URL地址
一个是:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=wx_card
另一个是:https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=jsapi
注意后面的type
我用成了第一个type=wx_card微信卡券的地址 改用用第二个地址type=jsapi。。问题解决
你可以检查下是不是这个问题
大概就是当前URL和生成签名的URL不一致问题吧,说下我的问题。我用ajax请求的后台config参数,和LZ一样,签名没问题但是signature还是不可用,微信官方的文档里面的错误都筛过了,后来发现导致URL不一致的原因是GET和POST请求的问题,GET请求无法获取URL中&后的参数,导致URL不一致。So,很蠢的错误,但是可能也是比较容易被忽略的吧
使用的是官网提供JS-SDk PHP Demo,出现invaild signature 打印地址时发现url为http://
解决办法:在类文件jssdk.php中修改$url
本地程序生成的 签名 跟 官网通过的签名工具生成的签名 对比是一致的,但还是提示 invalid signature , 请试试看把access_token.json跟jsapi_ticket.json内容都清空
如果是第三方公众号开发者,在使用JS SDK时获取ticket(https://api.weixin.qq.com/cgi...)时的请求参数access_token要使用authorizer_access_token。
由于我之前使用的第三方公众号component_access_token导致出现了楼主类似的问题。