sa-token 配置自定义 Token 前缀后cookie无效问题
自定义 Token 前缀
需求场景
在某些系统中,前端提交token时会在前面加个固定的前缀,例如:
{
"satoken": "Bearer xxxx-xxxx-xxxx-xxxx"
}
此时后端如果不做任何特殊处理,框架将会把Bearer 视为token的一部分,无法正常读取token信息,导致鉴权失败。
为此,我们需要在yml中添加如下配置:
sa-token:
# token前缀
token-prefix: Bearer
此时 Sa-Token 便可在读取 Token 时裁剪掉 Bearer,成功获取xxxx-xxxx-xxxx-xxxx。
注意点
Token前缀 与 Token值 之间必须有一个空格。
一旦配置了 Token前缀,则前端提交 Token 时,必须带有前缀,否则会导致框架无法读取 Token。
由于Cookie中无法存储空格字符,所以配置 Token 前缀后,Cookie 模式将会失效,此时只能将 Token 提交到header里进行传输。