http header Authorization: Bearer和token之间可以有几个空格

1、问题

项目中用到了satoken,一次使用apipost测试接口,http header中Authorization的Bearer和token之间,不小心,敲了两个空格,服务端报token无效;【不太好排查】,最后发现,是多了一个空格,去掉后,保持一个空格,成功

2、分析

satoken参考文档

代码

是一个空格

根据tokenValue,拼接,取查找对应信息(如果Bearer和Token之间有两个空格,这里,tokenValue的第一个字符就是空格,出错的地方

3、RFC文档

RFC6750

RFC 6750 - The OAuth 2.0 Authorization Framework: Bearer Token Usage

Authorization的值,是扩充巴克斯方式

RFC 5234

RFC 5234 - Augmented BNF for Syntax Specifications: ABNF

=》结合如下规则,1*SP,应该表示:至少一个空格 (所以,Authorization,Bearer后面如果有多个空格,后端服务器最好是能做下兼容处理,去掉多余的空格)

%x20百分号编码(Percent-Encoding) 中的表示方式,表示ASCII字符码的十六进制值

%x20 表示空格字符(Space)

相关推荐
Shota Kishi18 小时前
基于 Solana Geyser gRPC 数据流的 pump.fun 代币铸造实时检测:流式架构与 HTTP/2 协议分析
网络协议·http·架构
许长安19 小时前
rpc和http的区别
经验分享·笔记·网络协议·http·rpc
Co_Hui20 小时前
HTTP协议
http
许长安21 小时前
gRPC 数据包传输格式解析:从 Protobuf 到 HTTP/2
c++·经验分享·笔记·http·rpc
芋只因21 小时前
HTTP & HTTPS 详解
网络协议·http·https
皮卡蛋炒饭.2 天前
应用层协议HTTP
网络·网络协议·http
怀旧,2 天前
【Linux网络编程】5. 应用层协议 HTTP
linux·网络·http
iDao技术魔方2 天前
Bun v1.3.14 深度解析:Image API、HTTP/3、全局虚拟存储与五十项变革
网络·网络协议·http
panshihao2 天前
SSE 是什么?从原理到实战(Java+Vue+Node全示例)
java·后端·http
楼田莉子2 天前
仿Muduo的高并发服务器:基于HTTP的HTTP服务器及其测试
运维·服务器·http