今天在项目中遇到了后端说要返回给我一个 token,让我每次请求的时候把 token 带上。
这个过程他说很简单,但其实是我第一次遇到,能否用前端的话来解释一下后端同事想让我干什么呢?
今天在项目中遇到了后端说要返回给我一个 token,让我每次请求的时候把 token 带上。
这个过程他说很简单,但其实是我第一次遇到,能否用前端的话来解释一下后端同事想让我干什么呢?
入职第一天,HR 给你发了一个工牌。
有工牌的人,才能进出公司;没有工牌的人,会被拦在门外。
某些特殊岗位的同事的工牌还是定制的,只有他们才能出入一些敏感场所,比如档案室、机房;你的工牌只能进出公司大门和茶水间。
这个工牌就是 Token。
token 用户本次登录的编码,来标识是当前用户,一般都是在登录接口上面返回token。
比如获取当前用户信息,在请求头Authorization上附加token,即可获取token对应的用户信息。
前端全局范围,本地如果有token 说明已经登录,后续每个接口都会附加上tokan,否则跳转到登录页面。
token 是由时效性的,会过期。过期一般会返回401 ,就跳转到登录页面。
token其实就是一个凭证,后端生成一堆字符串,在首次登录的时候返回给前端,前端后期请求接口时都需要把token带上,不需要每次请求接口都把账号和密码传过去,这样可以减轻服务器压力。
一般前端都是会在封装axios时,在请求拦截器中配置。如:
let accessToken = window.localStorage.getItem("token");
if (accessToken) {
config.headers["Authorization"] = accessToken;
}
这样后台可以在header中拿到token去验证
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
在登录时后端会把token给你, 然后把token保存, 在封装的axios中的请求头, 加上token就行:
具体怎么加看你的axios怎么封装
单独每个接口加: