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)

相关推荐
Brookty20 小时前
应用层HTTP、安全层TLS与网络底层协议介绍
网络·http
\xin20 小时前
Pikachu的python一键exp,xx型注入,“insert/updata“注入,“delete“注入,“http header“注入
数据库·python·http
与遨游于天地20 小时前
HTTP的历史由来
网络·网络协议·http
~ rainbow~1 天前
前端转型全栈(六)——深入浅出:文件上传的原理与进阶
前端·http·文件上传
PinTrust SSL证书2 天前
Sectigo(Comodo)域名型DV通配符SSL
网络·网络协议·http·网络安全·https·软件工程·ssl
DevilSeagull2 天前
MySQL(1) 安装与配置
java·数据库·git·mysql·http·开源·github
2501_913061342 天前
网络原理之HTTP(3)
java·网络·网络协议·http·面试
pengyi8710152 天前
代理IP在爬虫中的核心应用,高匿代理避检测基础
大数据·网络·网络协议·tcp/ip·http
code_li2 天前
HTTPS免费证书配置指南
网络协议·http·https
tie12342 天前
HTTP相关
网络·网络协议·http