feign验签不通过,但是postman没问题

测试一个外部api的时候发现,同样的签名方法和payload,放在postman请求完全没问题,curl也能通过,但是到了feign就签名错误。

百思不得其解,后来发现了问题。

计算签名的时候,payload使用的格式是

java 复制代码
{"enterpriseId": "576588586871871450"}

但是,在feign传参数的时候,因为body是json,会进行序列化,变成

java 复制代码
{
    "enterpriseId": "576588586871871450"
}

加入了换行和缩进,类似于postman里边的beautify一键格式化。

实测,beautify之后postman也验签不通过了。

而feign是@Headers这种指定header而不是拦截器的方式,计算签名用的是jsonObject,所以导致二者对不上,签名不通过。

正确的做法就应该是,feign的计算签名这些都通过拦截器来实现,从拦截器里边取出来payload或者body。这样才能保证计算签名时候使用的数据格式和feign传输的完全一样。

相关推荐
猿周LV6 小时前
测试用例 [软件测试 基础]
测试工具·测试用例
测试19981 天前
Appium如何实现移动端UI自动化测试?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
lilili啊啊啊1 天前
克魔助手(Kemob)安装与注册完整教程 - Windows/macOS双平台指南
测试工具·克魔·克魔助手·iphone助手·#ios调试·#开发者工具
独隅1 天前
Lua 中,`if-else` 的详细用法
开发语言·junit·lua·lua5.4
hycccccch2 天前
超卖问题解决方案
java·笔记·lua
monstercl2 天前
【Lua】pcall使用详解
开发语言·lua
可可南木2 天前
BT-Basic函数之首字母S
开发语言·测试工具·pcb工艺
空中湖2 天前
免费在线PUA测试工具:识别情感操控,守护情感健康
git·测试工具
测试老哥2 天前
Postman之参数化详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
monstercl2 天前
skynet.dispatch 使用详解
lua·skynet·游戏服务器