初识Token


token令牌:
cookie只能再当前域名下生效,导致session无法跨域名共享
token也是用户会话唯一标识
响应主体中有token,响应完成后服务器端会销毁,
再次请求,一定还是需要token的,需要再客户端存储token
存储token:可以存在cookie || localStorage || sessionStorage
这里我们使用sessionStorage存储

//存储session方法
//window.sessionStorage.setIten('key','value')
//获取到的res.data是对象格式而sessionStorage只能存储字符串,所以需要用JSON.stringify来转换一下
window.sessionStorage.setIten('token',JSON.stringify(res.data))

 


在请求头中加字段 Authorization:Bearer token

保持登陆状态 token
token是用于访问需要身份认证的普通接口 有效期两个小时;
需要携带token
axios默认配置项: axios.defaluts
基本路径:

axios.defaluts.baseURL = 'url'

 

自定义请求头: 

axios.defaluts.headers = {
    Authorization:'Bearer '+JSON.parse(window.sessionStorage.getIten('key'))
}

 

axios提取与封装:
axios.js文件中

const axios from 'axios'
const instance = axios.create({
  baseURL:'url',
  headers:{ 
    Authorization:
'Bearer '+JSON.parse(window.sessionStorage.getIten('key'))
  } }) export defalut instance

 

 这样就基本封装完成了,但是会出现在第一次打开页面时因为还未发送请求所以获取不到token,就会出现报错,这时我们需要使用axios拦截器,下一篇文章我们再来学习axios拦截器。

posted @ 2019-07-12 16:34  cola_orz  阅读(249)  评论(0编辑  收藏  举报