2025-04-09 12:47:54 +08:00
|
|
|
|
# Token 提交前缀
|
2021-03-22 17:02:09 +08:00
|
|
|
|
|
|
|
|
|
|
### 需求场景
|
|
|
|
|
|
|
|
|
|
|
|
在某些系统中,前端提交token时会在前面加个固定的前缀,例如:
|
|
|
|
|
|
|
|
|
|
|
|
``` js
|
|
|
|
|
|
{
|
|
|
|
|
|
"satoken": "Bearer xxxx-xxxx-xxxx-xxxx"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2022-07-04 11:48:29 +08:00
|
|
|
|
此时后端如果不做任何特殊处理,框架将会把`Bearer `视为token的一部分,无法正常读取token信息,导致鉴权失败。
|
2021-03-22 17:02:09 +08:00
|
|
|
|
|
|
|
|
|
|
为此,我们需要在yml中添加如下配置:
|
2022-10-20 13:06:36 +08:00
|
|
|
|
|
|
|
|
|
|
<!---------------------------- tabs:start ---------------------------->
|
|
|
|
|
|
<!------------- tab:yaml 风格 ------------->
|
|
|
|
|
|
``` yaml
|
2021-07-01 15:15:54 +08:00
|
|
|
|
sa-token:
|
2025-04-09 12:47:54 +08:00
|
|
|
|
# 指定 token 提交时的前缀
|
2021-07-22 20:36:46 +08:00
|
|
|
|
token-prefix: Bearer
|
2021-03-22 17:02:09 +08:00
|
|
|
|
```
|
2022-10-20 13:06:36 +08:00
|
|
|
|
<!------------- tab:properties 风格 ------------->
|
|
|
|
|
|
``` properties
|
|
|
|
|
|
# token前缀
|
2023-12-28 18:15:16 +00:00
|
|
|
|
sa-token.token-prefix=Bearer
|
2022-10-20 13:06:36 +08:00
|
|
|
|
```
|
|
|
|
|
|
<!---------------------------- tabs:end ---------------------------->
|
|
|
|
|
|
|
2021-03-22 17:02:09 +08:00
|
|
|
|
|
2022-07-04 11:48:29 +08:00
|
|
|
|
此时 Sa-Token 便可在读取 Token 时裁剪掉 `Bearer`,成功获取`xxxx-xxxx-xxxx-xxxx`。
|
2021-03-22 17:02:09 +08:00
|
|
|
|
|
2025-04-09 12:47:54 +08:00
|
|
|
|
注:**Token前缀 与 Token值 之间必须有一个空格**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Cookie 模式自动填充前缀
|
|
|
|
|
|
|
|
|
|
|
|
由于`Cookie`中无法存储空格字符,所以配置 Token 前缀后,Cookie 模式将会失效,无法成功提交带有前缀的 token。
|
|
|
|
|
|
|
|
|
|
|
|
如果需要在这种场景下仍然使用 Cookie 模式验证 token,可以使用 `cookieAutoFillPrefix` 配置项打开 Cookie 模式自动填充前缀:
|
|
|
|
|
|
|
|
|
|
|
|
<!---------------------------- tabs:start ---------------------------->
|
|
|
|
|
|
<!------------- tab:yaml 风格 ------------->
|
|
|
|
|
|
``` yaml
|
|
|
|
|
|
sa-token:
|
|
|
|
|
|
# 指定 Cookie 模式下自动填充 token 提交前缀
|
|
|
|
|
|
cookie-auto-fill-prefix: true
|
|
|
|
|
|
```
|
|
|
|
|
|
<!------------- tab:properties 风格 ------------->
|
|
|
|
|
|
``` properties
|
|
|
|
|
|
# 指定 Cookie 模式下自动填充 token 提交前缀
|
|
|
|
|
|
sa-token.cookie-auto-fill-prefix=true
|
|
|
|
|
|
```
|
|
|
|
|
|
<!---------------------------- tabs:end ---------------------------->
|
2021-03-22 17:02:09 +08:00
|
|
|
|
|
|
|
|
|
|
|