title: vue中axios如何实现token验证 date: 2018-02-08 17:50:07 tags: [axios,vue]

继上篇实现Auth认证之后,然后每个跳转页面都会在后端验证token的存在 然后那天晚上通过模仿Auth发送请求,发送成功(上篇末尾的方式) 但是今天再继续写,发现每个页面请求都要发送token验证 就比较麻烦了

这时候又要axios上场了 可以通过axios类似error拦截的方式拦截http request请求 这样每次request都可以默认加上token (当然前提已经在session里存储了你的token验证字符串)

// main.js文件
// http request 拦截器
axios.interceptors.request.use(config => {var token = sessionStorage.getItem('token');if (token) {  // 判断是否存在token,如果存在的话,则每个http header都加上tokentoken =sessionStorage.getItem('token')+':';config.headers.Authorization = `Basic ${new Buffer(token).toString('base64')}`;}return config;},err => {return Promise.reject(err);});
复制代码

为什么要加":"? 这里一开始我并没有加冒号,然后发现新加的request页面显示401 但是消息头里明明加上了Authorization,细看的话发现这个token和另外几个页面的不同 (因为另外几个页面的token是那天晚上的方式通过axios直接发送的) 解码正确的token发现是缺少冒号,具体原因不是很清楚 查看文档似乎发现了一个合理的解释(不知道是否正确) 文档中写到:

新版的 verify_password 回调函数会尝试认证两次。首先它会把 username 参数作为令牌进行认证。如果没有验证通过的话,就会像基于密码认证的一样,验证username和password 然后文档curl例子类似下面的格式

$ curl -u eyJhbGciOiJIUzI1NiIsImV4cCI6MTM4NTY2OTY1NSwiaWF0IjoxMzg1NjY5MDU1fQ.eyJpZCI6MX0.XbOEFJkhjHJ5uRINh2JA1BPzXjSohKYDRT472wGOvjc:unused -i -X GET http://127.0.0.1:5000/api/resource
HTTP/1.0 200 OK
Content-Type: application/json
Content-Length: 30
Server: Werkzeug/0.9.4 Python/2.7.3
Date: Thu, 28 Nov 2013 20:05:08 GMT{"data": "Hello, miguel!"
}
复制代码

我们会看到这个 token:unused 的格式 然后request时会加上冒号

转载于:https://juejin.im/post/5b2c850c6fb9a00e8f796aba

vue中axios如何实现token验证相关推荐

  1. vue中axios封装请求

    执行 GET 请求 // 向具有指定ID的用户发出请求 axios.get('/user?ID=12345') .then(function (res) {console.log(res); }) . ...

  2. 解决在vue中axios请求超时的问题

    解决在vue中axios请求超时的问题 参考文章: (1)解决在vue中axios请求超时的问题 (2)https://www.cnblogs.com/zhouyangla/p/8757149.htm ...

  3. vue中Axios网络请求之Vue知识点归纳(十)

    本文描述 vue 中 Axios 简述 vue 中使用 Axios 发起 get 请求 vue 中使用 Axios 发起 post 请求 1 简述 Axios是一个基于Promise(ES6中用于处理 ...

  4. axios 超时_聊聊 Vue 中 axios 的封装

    axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一 ...

  5. vue中axios访问Java后端跨域问题解决

    vue中axios访问Java后端跨域问题解决 参考文章: (1)vue中axios访问Java后端跨域问题解决 (2)https://www.cnblogs.com/soinve/p/9295009 ...

  6. 解决vue中axios同步的问题

    解决vue中axios同步的问题 参考文章: (1)解决vue中axios同步的问题 (2)https://www.cnblogs.com/zhupanpan/p/11319305.html 备忘一下 ...

  7. VUE中fetch结合支付宝API验证银行卡号

    标题VUE中fetch结合支付宝API验证银行卡号 工作中提出验证银行卡的需求,在项目基于vue的情况下,刚开始用正则,结果是不太准确 换个方法就是要使用支付宝去验证用户输入的手机号 Bank组件如下 ...

  8. vue中axios改变header为application/x-www-form-urlencoded不起作用

    vue中axios改变header为application/x-www-form-urlencoded不起作用 axios默认的头是这个,一般get请求是这个头 config.headers['Con ...

  9. 【SpringBoot】44、SpringBoot中整合JWT实现Token验证(整合篇)

    什么是JWT? Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519),该 token 被设计为紧凑且安全的,特别适用于分 ...

最新文章

  1. Android面试题目(10) 内存泄露
  2. python多线程_【python多线程02】各种线程锁
  3. 【Android 插件化】VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )
  4. 弯曲圆波导matlab_弯曲波导结构设计
  5. Spring MVC 概述
  6. CTFshow 反序列化 web255
  7. 教你理解复杂的C/C++声明
  8. 样本距离计算、向量范数、矩阵范数
  9. python全栈开发要学些什么_如何迅速学习Python 全栈开发?
  10. .NET Core 下的爬虫利器
  11. win10安装vmware tools + 无法拖拽文件解决
  12. python 分词nlp,学习NLP的第四天——hanlp字典分词的Python实现,4,HanLP,词典
  13. 关于Bom下标准模式和混杂模式!
  14. 入手STM32单片机的知识点总结
  15. win10提升性能的服务器,win10专业版设置优化提高系统性能图解
  16. 英语表达技巧—委婉地表达消极,否定情感
  17. php微信 api,PHP微信API接口类
  18. Rasa 3.x 学习系列-Rasa [3.4.0] - 2022-12-14新版本发布
  19. 图片转文字怎么弄?图文转换方式说明
  20. UWA 技术分享连载 转载

热门文章

  1. FFmpeg通过摄像头实现对视频流进行解码并显示测试代码(旧接口)
  2. Ubuntu14.04上编译指定版本的protobuf源码操作步骤
  3. matlab 全局变量
  4. 【linux】shell中整数运算的加、减、乘、除
  5. 全局声明宏定义_Rust语言:元编程,强大的宏系统,菜鸟到高手进阶的必经之路...
  6. Java项目:实现个人博客系统(java+springboot+mybatis+redis+vue+elementui+Mysql)
  7. Java项目:网上选课系统(java+SSM+jsp+mysql+maven)
  8. CSS之定位(定位/相对定位)
  9. oracle导入索引b报错,impdp导入索引很慢
  10. 贝塞尔结合CAShapeLayer绘制路线,CABasicAnimation实现的小动画