vue中axios如何实现token验证
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验证相关推荐
- vue中axios封装请求
执行 GET 请求 // 向具有指定ID的用户发出请求 axios.get('/user?ID=12345') .then(function (res) {console.log(res); }) . ...
- 解决在vue中axios请求超时的问题
解决在vue中axios请求超时的问题 参考文章: (1)解决在vue中axios请求超时的问题 (2)https://www.cnblogs.com/zhouyangla/p/8757149.htm ...
- vue中Axios网络请求之Vue知识点归纳(十)
本文描述 vue 中 Axios 简述 vue 中使用 Axios 发起 get 请求 vue 中使用 Axios 发起 post 请求 1 简述 Axios是一个基于Promise(ES6中用于处理 ...
- axios 超时_聊聊 Vue 中 axios 的封装
axios 是 Vue 官方推荐的一个 HTTP 库,用 axios 官方简介来介绍它,就是: Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. 作为一 ...
- vue中axios访问Java后端跨域问题解决
vue中axios访问Java后端跨域问题解决 参考文章: (1)vue中axios访问Java后端跨域问题解决 (2)https://www.cnblogs.com/soinve/p/9295009 ...
- 解决vue中axios同步的问题
解决vue中axios同步的问题 参考文章: (1)解决vue中axios同步的问题 (2)https://www.cnblogs.com/zhupanpan/p/11319305.html 备忘一下 ...
- VUE中fetch结合支付宝API验证银行卡号
标题VUE中fetch结合支付宝API验证银行卡号 工作中提出验证银行卡的需求,在项目基于vue的情况下,刚开始用正则,结果是不太准确 换个方法就是要使用支付宝去验证用户输入的手机号 Bank组件如下 ...
- vue中axios改变header为application/x-www-form-urlencoded不起作用
vue中axios改变header为application/x-www-form-urlencoded不起作用 axios默认的头是这个,一般get请求是这个头 config.headers['Con ...
- 【SpringBoot】44、SpringBoot中整合JWT实现Token验证(整合篇)
什么是JWT? Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519),该 token 被设计为紧凑且安全的,特别适用于分 ...
最新文章
- Android面试题目(10) 内存泄露
- python多线程_【python多线程02】各种线程锁
- 【Android 插件化】VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )
- 弯曲圆波导matlab_弯曲波导结构设计
- Spring MVC 概述
- CTFshow 反序列化 web255
- 教你理解复杂的C/C++声明
- 样本距离计算、向量范数、矩阵范数
- python全栈开发要学些什么_如何迅速学习Python 全栈开发?
- .NET Core 下的爬虫利器
- win10安装vmware tools + 无法拖拽文件解决
- python 分词nlp,学习NLP的第四天——hanlp字典分词的Python实现,4,HanLP,词典
- 关于Bom下标准模式和混杂模式!
- 入手STM32单片机的知识点总结
- win10提升性能的服务器,win10专业版设置优化提高系统性能图解
- 英语表达技巧—委婉地表达消极,否定情感
- php微信 api,PHP微信API接口类
- Rasa 3.x 学习系列-Rasa [3.4.0] - 2022-12-14新版本发布
- 图片转文字怎么弄?图文转换方式说明
- UWA 技术分享连载 转载
热门文章
- FFmpeg通过摄像头实现对视频流进行解码并显示测试代码(旧接口)
- Ubuntu14.04上编译指定版本的protobuf源码操作步骤
- matlab 全局变量
- 【linux】shell中整数运算的加、减、乘、除
- 全局声明宏定义_Rust语言:元编程,强大的宏系统,菜鸟到高手进阶的必经之路...
- Java项目:实现个人博客系统(java+springboot+mybatis+redis+vue+elementui+Mysql)
- Java项目:网上选课系统(java+SSM+jsp+mysql+maven)
- CSS之定位(定位/相对定位)
- oracle导入索引b报错,impdp导入索引很慢
- 贝塞尔结合CAShapeLayer绘制路线,CABasicAnimation实现的小动画