当您使用Vue来保持用户会话时,您的应用程序可能会用到token来进行认证。然而,由于服务器设置和不活动期等问题,这些token会过期,导致用户需要重新进行身份验证。这个过期的问题可能会影响整个应用程序,当token过期时,您需要重新获取token或者重新登录用户。
为了解决这个问题,Vue提供了一个良好的vue-token插件。该插件可以周期性检查token的过期时间并在过期时更新token,确保在用户仍然保持在线的同时避免token过期。
import Vue from 'vue' import VueToken from 'vue-token' Vue.use(VueToken, { keyName: 'auth-token', expired: 60 * 60 * 24 * 7, responseType: 'json', tokenType: 'Bearer' }) Vue.http.interceptors.push((request, next) => { request.headers.set('Authorization', 'Bearer ' + Vue.token.get()) next() })
上述代码中,我们从插件导入VueToken,将它注册到Vue中,然后设置期望的选项。keyName是用于存储token的本地存储键的名称;过期时间是以秒为单位的;responseType是请求的响应类型,而tokenType是我们要使用的token类型。
接下来,在Vue.http.interceptors中,我们设置每次请求的头部Authorization,然后设置tokenType和VueToken的get方法。这个方法将返回token值,并在token过期时自动更新token。
使用Vue Token过期功能,我们可以轻松管理和检查token是否过期。如果过期了,Vue Token会自动使用Vue.http重新获取一个新的token,并在后续的HTTP请求中使用它。