Vue中axios拦截器如何单独配置token
前端  /  管理员 发布于 3年前   300
在了解到cookie、session、token的作用后学习token的使用 cookie cookie是随着url将参数发送到后台,安全性最低,并且大小受限,不超过4kb左右,它的数据保存在客户端 session session数据保存在服务端,在内存中开辟空间存储数据,session文件名即sessionID保存在cookie内,随cookie传送到服务端后在服务端匹配session文件 token token是服务端的一种算法,如果登录成功,服务端就会根据算法生成一个字符串,将字符串传递回客户端。这个字符串就是token,安全性最高 以上都有可能受到CSRF攻击 axios拦截器会在发送请求前先进行处理,将token放进key中保存在请求头中,这个key是前后台约定好的。这样配置好后,每次发送请求的时候,请求头都会带上token传送到后台进行校验。 axios的特点(官网) 方法一:我们在使用axios请求的时候可以先获取我们已经存入localStorage里的token 然后在拦截器里使用[…]进行拼接 方法二: axios修改全局默认配置: axios配置拦截器: 这两种方法就可以让我们在axios拦截器里拼接token了,而不是每一个请求都需要加一个token值 总结 以上所述是小编给大家介绍的Vue中axios拦截器如何单独配置token,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!import axios from 'axios';import qs from 'qs';axios.defaults.baseURL = process.env.VUE_APP_BASE_API;let token = localStorage.getItem('token')// Add a request interceptoraxios.interceptors.request.use(function (config) { // Do something before request is sent //console.log(config) if(config.method==='post'){ config.data=qs.stringify({ token:token, ...config.data }) }else if(config.method==='get'){ config.params={ token:token, ...config.params } } return config; }, function (error) { // Do something with request error return Promise.reject(error); });// Add a response interceptoraxios.interceptors.response.use(function (response) { // Do something with response data return response; }, function (error) { // Do something with response error return Promise.reject(error); }); class http{ static get(url,params){ return axios.get(url,params) } static post(url,params){ return axios.post(url,params) } } export default http;
axios.defaults.baseURL = 'https://api.example.com';axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
// 添加一个请求拦截器axios.interceptors.request.use(function (config) { // Do something before request is sent return config; //这里经常搭配token使用,将token值配置到tokenkey中,将tokenkey放在请求头中 config.headers['Authorization'] = token; }, function (error) { // Do something with request error return Promise.reject(error); });// 添加一个响应拦截器axios.interceptors.response.use(function (response) { // Do something with response data return response; }, function (error) { // Do something with response error return Promise.reject(error); });
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!您可能感兴趣的文章:
博主 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..xiaoB 在
2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..BUG4 在
你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..博主 在
go语言+beego框架中获取get,post请求的所有参数中评论 @ t1 直接在router.go文件中配就ok..Jade 在
如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号