1
0
mirror of synced 2026-08-31 23:54:55 +00:00
Files
2026-08-29 23:08:33 +08:00

1.3 KiB

Token 提交前缀

需求场景

在某些系统中,前端提交token时会在前面加个固定的前缀,例如:

{
	"satoken": "Bearer xxxx-xxxx-xxxx-xxxx"
}

此时后端如果不做任何特殊处理,框架将会把Bearer 视为token的一部分,无法正常读取token信息,导致鉴权失败。

为此,我们需要在yml中添加如下配置:

:::tabs == yaml 风格

sa-token: 
	# 指定 token 提交时的前缀
	token-prefix: Bearer

== properties 风格

# token前缀
sa-token.token-prefix=Bearer

:::

此时 Sa-Token 便可在读取 Token 时裁剪掉 Bearer,成功获取xxxx-xxxx-xxxx-xxxx

注:Token前缀 与 Token值 之间必须有一个空格

由于Cookie中无法存储空格字符,所以配置 Token 前缀后,Cookie 模式将会失效,无法成功提交带有前缀的 token。

如果需要在这种场景下仍然使用 Cookie 模式验证 token,可以使用 cookieAutoFillPrefix 配置项打开 Cookie 模式自动填充前缀:

:::tabs == yaml 风格

sa-token: 
	# 指定 Cookie 模式下自动填充 token 提交前缀
	cookie-auto-fill-prefix: true

== properties 风格

# 指定 Cookie 模式下自动填充 token 提交前缀
sa-token.cookie-auto-fill-prefix=true

:::