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

server/2024/12/27 5:19:58/

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

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

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

{"enterpriseId": "576588586871871450"}

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

{"enterpriseId": "576588586871871450"
}

加入了换行和缩进,类似于postman里边的beautify一键格式化。
实测,beautify之后postman也验签不通过了。

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

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


http://www.ppmy.cn/server/153536.html

相关文章

PDF书籍《手写调用链监控APM系统-Java版》第4章 SPI服务模块化系统

本人阅读了 Skywalking 的大部分核心代码,也了解了相关的文献,对此深有感悟,特此借助巨人的思想自己手动用JAVA语言实现了一个 “调用链监控APM” 系统。本书采用边讲解实现原理边编写代码的方式,看本书时一定要跟着敲代码。 作者…

HTML5实现好看的圣诞节网站源码

HTML5实现好看的圣诞节网站源码 前言一、设计来源1.1 主界面1.2 圣诞节由来界面1.3 圣诞活动界面1.4 圣诞活动门票界面1.5 团队介绍界面1.6 圣诞照片墙界面1.7 圣诞留言界面1.8 圣诞趣事界面1.9 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好…

小波分析算法

小波分析是近年来发展起来的一种新的时频分析方法,其典型应用包括齿轮变速控制、起重机的非正常噪声、通信信号处理、物理中的间断现象等。而频域分析的着眼点在于,区分突发信号的稳定信号,以及定量分析其能量;其典型应用包括细胞…

Amazon Bedrock Claude 3 在客户服务自动化中的应用方法

随着企业对客户体验的重视,客户服务自动化已成为提升效率和满意度的重要手段。Amazon Bedrock中的Claude 3模型,凭借其强大的自然语言处理能力,成为了客户服务自动化的理想选择。以下是九河云总结的一些具体的方法,展示如何利用Cl…

MFC/C++学习系列之简单记录11——树控件的使用

MFC/C学习系列之简单记录11——树控件的使用 前言CTreectrl使用界面设置代码使用简单设计其他使用注意! 总结 前言 在之前的界面设计中使用得很少,但是可以学习一下,以备不时之需! CTreectrl使用 界面设置 在工具箱中选择Tree C…

神经网络-VggNet

2014年VggNet被推出,获取了ILSVRC2014比赛分类项目的第二名,第一名是GoogleNet,该网络在下节介绍,本节主要介绍VggNet。 VggNet可以称为是一个家族,根据层数的不同包括了A、A-LRN、B、C、D等网络结构,其中…

Java:基于springboot妇幼健康管理系统

作者主页:IT 小舟 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本妇幼健康管理系统分为管理员、用户、医生三个权限。 管理员可以管理用户、医生的基本信息内容,可以管理药物信息以及患者预约信息等操作…

Java:187 基于Springboot的校园点餐系统

作者主页:舒克日记 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 ​ 系统为顾客线上订餐提供便利。主要实现了顾客模块和管理员模块两大部分,这两大模块具体功能如下: (1&#xf…