由官网可查到。

Sa-Token

后端将参数返回给前端

  1. 后端调用StpUtil.login(Object loginId)登陆成功后
  2. SaTokenInfo tokenInfo = StpUtil.getTokenInfo()获取两个参数,tokenNametokenValue

前端接收两个参数并保存,在请求后端是带上这两个参数

例如返回的tokeninfo为:

{
	"msg": "登陆成功",
	"code": 200,
	"data": {
		"tokenName": "MaoyanToken",
		"tokenValue": "e4fd232e-c5cf-4f00-afa7-f3d4875ede6b",
		"isLogin": true,
		"loginId": "1",
		"loginKey": "login",
		"tokenTimeout": -1,
		"sessionTimeout": -1,
		"tokenSessionTimeout": -2,
		"tokenActivityTimeout": -1,
		"loginDevice": "default-device"
	}
}

可以看出

tokenName为MaoyanToken

tokenValue为e4fd232e-c5cf-4f00-afa7-f3d4875ede6b

在header中携带参数

header: {
        "content-type": "application/x-www-form-urlencoded",
        "MaoyanToken": "e4fd232e-c5cf-4f00-afa7-f3d4875ede6b" 
    },

"content-type": "application/x-www-form-urlencoded" 这个也很重要!

在前端中,可以使用localStoragesessionStorage来保存tokenNametokenValue,在发送请求时添加到请求头中。

例如:

// 保存token信息
localStorage.setItem('MaoyanToken', 'e4fd232e-c5cf-4f00-afa7-f3d4875ede6b');

// 发送请求时添加请求头
fetch('/api/some-resource', {
  headers: {
    'MaoyanToken': localStorage.getItem('MaoyanToken'),
    'Content-Type': 'application/json'
  },
  method: 'GET'
}).then(response => {
  // 处理响应
});