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)

相关推荐
不可能的是2 天前
前端 SSE 流式请求三种实现方案全解析
前端·http
古译汉书6 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
21号 16 天前
Http粘包问题回顾
网络·网络协议·http
A懿轩A6 天前
【SpringBoot 快速开发】面向后端开发的 HTTP 协议详解:请求报文、响应码与常见设计规范
spring boot·http·设计规范
吧啦蹦吧6 天前
http-SNI
网络·网络协议·http
~kiss~7 天前
HTTP 429
网络·网络协议·http
Olive7 天前
深入理解 HTTP 请求重试:不只是指数退避那么简单
http
AI-小柒7 天前
Seedance 2.0(即梦 2.0)深度解析:AI 视频进入「导演级」可控时代
大数据·人工智能·网络协议·tcp/ip·http·音视频
弹简特7 天前
【JavaEE10-后端部分】SpringMVC05-综合案例1-从加法计算器看前后端交互:接口文档与HTTP通信详解
java·spring boot·spring·http
弹简特7 天前
【JavaEE12-后端部分】SpringMVC07-综合案例3-从留言板看前后端交互:接口文档与HTTP通信详解
spring boot·网络协议·spring·http·java-ee·交互