后端安全验证过程
目标:提供一个接口给第三方服务使用,但因为第三方服务没有用户账号这东西,所以需要进行安全访问控制(Java实现)
例如:http://XXXXX?nonce=XXXX?×tamp=XXXX&signature=XXXX (请求参数在POST里面)
步骤:
1.在filter中获取参数,验证是第三方服务调用
获取nonce、signature、timestamp、请求参数、四个参数,如果有即是第三方服务在调用接口,没有则将请求转发给下一个filter
2.检查请求的时效性
根据上面拿到的时间戳,判断请求是否过期
3.获取token
拿到对应服务的token
4.进行签名
1.将token、timestamp、nonce进行字典排序,作为签名的secret_key
2.将请求参数作为签名的内容,然后选择签名的方法
3.生成签名
5.验证签名
将生成的签名与第一个步骤获取的signature比较,相同即是合法操作
6.设置所信任的上下文
根据请求的数据,获取里面能作为设置凭证的参数,将此次请求设置为受信任的请求。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)