当前位置:首页 > VUE

vue实现token

2026-02-10 03:20:56VUE

Vue 中实现 Token 认证的步骤

存储 Token

在用户登录成功后,将服务器返回的 Token 存储到本地。可以使用 localStoragesessionStorage 实现持久化存储。

// 登录成功后保存 Token
localStorage.setItem('token', response.data.token);

请求拦截器

在发送请求时,通过 Axios 的请求拦截器将 Token 添加到请求头中,确保每次请求都携带认证信息。

vue实现token

import axios from 'axios';

axios.interceptors.request.use(config => {
  const token = localStorage.getItem('token');
  if (token) {
    config.headers.Authorization = `Bearer ${token}`;
  }
  return config;
}, error => {
  return Promise.reject(error);
});

响应拦截器

通过响应拦截器处理 Token 过期或无效的情况,例如返回 401 状态码时跳转到登录页。

axios.interceptors.response.use(response => {
  return response;
}, error => {
  if (error.response.status === 401) {
    localStorage.removeItem('token');
    router.push('/login');
  }
  return Promise.reject(error);
});

路由守卫

在 Vue Router 中配置全局前置守卫,检查用户是否已登录(是否存在 Token),未登录则跳转到登录页。

vue实现token

router.beforeEach((to, from, next) => {
  const token = localStorage.getItem('token');
  if (to.meta.requiresAuth && !token) {
    next('/login');
  } else {
    next();
  }
});

Token 刷新

如果 Token 具有有效期,可以在过期前通过刷新 Token 接口获取新的 Token,避免用户频繁重新登录。

function refreshToken() {
  return axios.post('/refresh-token', {
    refreshToken: localStorage.getItem('refreshToken')
  }).then(response => {
    localStorage.setItem('token', response.data.token);
    return response.data.token;
  });
}

注销处理

用户注销时清除本地存储的 Token 并跳转到登录页。

function logout() {
  localStorage.removeItem('token');
  router.push('/login');
}

注意事项

  • Token 应通过 HTTPS 传输,避免明文暴露。
  • 敏感操作(如支付、修改密码)建议增加二次验证。
  • 避免在客户端存储过多敏感信息,Token 应仅包含必要的数据。

标签: vuetoken
分享给朋友:

相关文章

vue实现store

vue实现store

Vue 实现 Store 在 Vue 中,可以通过 Vuex 或 Pinia 实现全局状态管理(Store)。以下是两种主流方案的实现方法。 使用 Vuex 实现 Store Vuex 是 Vue…

vue 实现弹幕

vue 实现弹幕

vue 实现弹幕的方法 使用 CSS 动画和动态渲染 在 Vue 中实现弹幕效果,可以通过动态渲染弹幕元素并结合 CSS 动画实现。以下是具体步骤: 数据准备 创建一个数组存储弹幕数据,每条弹幕包…

vue实现bootstrap

vue实现bootstrap

Vue 中集成 Bootstrap 的方法 在 Vue 项目中集成 Bootstrap 可以通过以下方式实现,涵盖样式、组件和交互功能。 安装 Bootstrap 依赖 通过 npm 或 yarn…

vue实现盖章

vue实现盖章

Vue 实现盖章功能 在Vue中实现盖章功能通常涉及前端UI交互,通过Canvas或SVG绘制印章,并允许用户拖拽或点击放置印章。以下是具体实现方法: 使用Canvas绘制印章 通过HTML5的…

vue实现看板

vue实现看板

Vue 实现看板功能 使用 Vue 实现看板功能可以通过组件化开发、状态管理和拖拽库结合完成。以下是一个完整的实现方案: 基础项目结构 src/ ├── components/ │ ├── K…

vue实现ios

vue实现ios

Vue 实现 iOS 风格应用 使用 Vue 实现 iOS 风格的应用,可以通过结合 UI 框架和自定义样式来达成目标。以下是具体方法和步骤: 选择 iOS 风格的 UI 框架 Vue 生态中…