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)

相关推荐
Anthony_2311 小时前
一、网络通信的本质与OSI模型
网络·网络协议·tcp/ip·http·https·udp·ssl
lkbhua莱克瓦245 小时前
深入理解HTTP协议:从理论到SpringBoot实践
网络·笔记·后端·网络协议·http·javaweb
txinyu的博客8 小时前
HTTPS
网络协议·http·https
Anthony_23110 小时前
二、IP地址与子网划分
服务器·网络·网络协议·tcp/ip·http·https·udp
Hello.Reader15 小时前
Spring 新声明式 HTTP 客户端:HTTP Interface + RestClient,把“调用外部 API”写成接口
java·spring·http
IP搭子来一个15 小时前
什么是http代理,http代理的作用是什么?
网络·网络协议·http
wb0430720115 小时前
TCP/IP(IP、TCP、UDP、ICMP)与 HTTP/HTTPS
tcp/ip·http·udp
极安代理1 天前
HTTP代理是什么?作用与场景全面解析
网络·网络协议·http
未来之窗软件服务1 天前
幽冥大陆(一百07)—门禁局域网http获取名单—东方仙盟练气期
网络·http·仙盟创梦ide·东方仙盟·东方仙盟智能硬件·智能闸机
ps酷教程1 天前
netty模拟文件列表http服务器
http·netty