axios拦截器搭配token使用

Posted luobinziyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios拦截器搭配token使用相关的知识,希望对你有一定的参考价值。

在了解到cookie、session、token的作用后学习token的使用

cookie是随着url将参数发送到后台,安全性最低,并且大小受限,不超过4kb左右,它的数据保存在客户端

session数据保存在服务端,在内存中开辟空间存储数据,session文件名即sessionID保存在cookie内,随cookie传送到服务端后在服务端匹配session文件

token是服务端的一种算法,如果登录成功,服务端就会根据算法生成一个字符串,将字符串传递回客户端。这个字符串就是token,安全性最高

以上都有可能受到CSRF攻击

axios拦截器会在发送请求前先进行处理,将token放进key中保存在请求头中,这个key是前后台约定好的。这样配置好后,每次发送请求的时候,请求头都会带上token传送到后台进行校验。

axios的特点(官网)

  • 支持浏览器和node.js
  • 支持promise
  • 能拦截请求和响应
  • 能转换请求和响应数据
  • 能取消请求
  • 自动转换JSON数据
  • 浏览器端支持防止CSRF(跨站请求伪造)

axios修改全局默认配置:eg:

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配置拦截器:eg:

// 添加一个请求拦截器
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); });

 




以上是关于axios拦截器搭配token使用的主要内容,如果未能解决你的问题,请参考以下文章

使用axios拦截器,为请求头添加token

vue2-封装axios请求并设置请求拦截器

vue2-封装axios请求并设置请求拦截器

vue+axios拦截器和webapi中读取的实现

axios token验证拦截器

Vue中使用axios的响应拦截器处理请求失败的情况(处理token过期问题)以及 登录成功跳转回原来页面问题