token的原理及过期处理 |
您所在的位置:网站首页 › saber2007过期怎么办 › token的原理及过期处理 |
Token 是用户登录成功之后服务端返回的一个身份令牌,在项目中的多个业务中需要使用到: 访问需要授权的 API 接口校验页面的访问权限…但是我们只有在第一次用户登录成功之后才能拿到 Token。 所以为了能在其它模块中获取到 Token 数据,我们需要把它存储到一个公共的位置,方便随时取用。 往哪儿存? 本地存储 获取麻烦数据不是响应式Vuex 容器(推荐) 获取方便响应式的登录成功,将 Token 存储到 Vuex 容器中 获取方便响应式为了持久化,还需要把 Token 放到本地存储 持久化 关于 Token 过期问题登录成功之后后端会返回两个 Token: token:访问令牌,有效期2小时refresh_token:刷新令牌,有效期14天,用于访问令牌过期之后重新获取新的访问令牌我们的项目接口中设定的 Token 有效期是 2 小时,超过有效期服务端会返回 401 表示 Token 无效或过期了。 为什么过期时间这么短? 为了安全,例如 Token 被别人盗用过期了怎么办? 让用户重新登录,用户体验太差了使用 refresh_token 解决 token 过期服务器生成token的过程中,会有两个时间,一个是token失效时间,一个是token刷新时间,刷新时间肯定比失效时间长,当用户的 token 过期时,你可以拿着过期的token去换取新的token,来保持用户的登陆状态,当然你这个过期token的过期时间必须在刷新时间之内,如果超出了刷新时间,那么返回的依旧是 401。 处理流程: 在axios的拦截器中加入token刷新逻辑当用户token过期时,去向服务器请求新的 token把旧的token替换为新的token然后继续用户当前的请求 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |