vue----操作JWT
vue登录获取token
loginAuth() { let params = { login_name: this.ruleForm.username, login_password: md5(this.ruleForm.password) } let that = this //axios 请求后台接口 api.login(params).then(res => { if (res.code == 0) { that.MSG.success(res.msg) that.loginSuccess(res) } else {//result.state==1||reuslt.state==2 that.MSG.warning(res.msg) } }) }, //登陆成功 loginSuccess(result) {
//也可以用cookie存储 sessionStorage.setItem('token', result.token) this.$router.push({ path: '/index' }) } 登陆验证
在main.js文件,在请求拦截方法中,为请求接口加入token
需要注意的是token格式为:‘Bearer ’+token,token参数需要赋值给请求头的Authorization
axios.interceptors.request.use( config => { //除登陆接口意外的接口都要加上token,才可以请求接口 if (!config.url.endsWith('/api/login')) { if(sessionStorage.getItem('token')!=null){ const token='Bearer '+sessionStorage.getItem('token') config.headers.common['Authorization']=token } } return config; }, error => { return Promise.reject(error); } ); axios请求头加token