小程序
小游戏
企业微信
微信支付
扫描小程序码分享
1.背景:公司内部使用的一个平台,正常使用了好多年了,从来没用修改过,最近突然出现了报错 invalid signature 4009
2.排查错误:代码也追了很久,没法发现问题,根据文档提示可能造成问题的地方都检查了,均未发现问题;
3.签名验证:用签名工具也验证了也是没有问题,如下图
望官方或大神指点迷津
应用信息
签名信息
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
企业微信在拉起自研页面时,会带参数比如 www.xxx.com/getlist.html?key1=v1&key2=v2,这时getlist.html初始化wx.agentconfig 通过后台交互获取 nonceStr、signature时,如果通过get请求(比如 www.xxx.com/getAgentconfigParam?pageUrl=www.xxx.com/getlist.html?key1=v1&key2=v2) 后台获取到的pageUrl缺失了key2部分。这就导致了加密的url和微信获取的url不同
ps:
直接用pc打开 www.xxx.com/getlist.html wx.agentconfig 响应成功
用企业微信打开 响应4009
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
已经找到问题了,是因为页面中内嵌了 ifream ,window.location.href 获取的是当前ifream的url,改为 top.location.href 获取顶级页面的url 就好了,微信那边验签取的应该也是值
备注:在2022-08-01之前这样是没有问题,可能是微信官方升级了导致,真坑人
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
企业微信在拉起自研页面时,会带参数比如 www.xxx.com/getlist.html?key1=v1&key2=v2,这时getlist.html初始化wx.agentconfig 通过后台交互获取 nonceStr、signature时,如果通过get请求(比如 www.xxx.com/getAgentconfigParam?pageUrl=www.xxx.com/getlist.html?key1=v1&key2=v2) 后台获取到的pageUrl缺失了key2部分。这就导致了加密的url和微信获取的url不同
ps:
直接用pc打开 www.xxx.com/getlist.html wx.agentconfig 响应成功
用企业微信打开 响应4009
已经找到问题了,是因为页面中内嵌了 ifream ,window.location.href 获取的是当前ifream的url,改为 top.location.href 获取顶级页面的url 就好了,微信那边验签取的应该也是值
备注:在2022-08-01之前这样是没有问题,可能是微信官方升级了导致,真坑人