当前位置:首页 > VUE

vue实现token

2026-01-07 19:01:19VUE

Vue 中实现 Token 认证的方法

在 Vue 中实现 Token 认证通常涉及前端与后端的交互,包括 Token 的获取、存储、发送和刷新等操作。以下是具体实现步骤:

获取 Token

用户登录时,向后端发送用户名和密码,后端验证成功后返回 Token。可以使用 Axios 发送 POST 请求:

axios.post('/api/login', {
  username: 'user',
  password: 'password'
})
.then(response => {
  const token = response.data.token;
  localStorage.setItem('token', token); // 存储 Token
})
.catch(error => {
  console.error('登录失败:', error);
});

存储 Token

Token 通常存储在本地存储(localStorage)或 Vuex 中。localStorage 适合持久化存储,而 Vuex 适合全局状态管理。

vue实现token

// 存储到 localStorage
localStorage.setItem('token', token);

// 存储到 Vuex
store.commit('setToken', token);

发送 Token

在后续请求中,需要在请求头中携带 Token。可以通过 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

每次路由跳转时,检查 Token 是否存在或有效。可以通过 Vue Router 的全局前置守卫实现:

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。在响应拦截器中处理:

axios.interceptors.response.use(response => {
  return response;
}, error => {
  if (error.response.status === 401) {
    return axios.post('/api/refresh-token', {
      refreshToken: localStorage.getItem('refreshToken')
    })
    .then(response => {
      localStorage.setItem('token', response.data.token);
      error.config.headers.Authorization = `Bearer ${response.data.token}`;
      return axios(error.config);
    });
  }
  return Promise.reject(error);
});

清除 Token

用户退出登录时,清除本地存储的 Token:

localStorage.removeItem('token');
store.commit('clearToken');
router.push('/login');

通过以上步骤,可以在 Vue 中实现完整的 Token 认证流程。

标签: vuetoken
分享给朋友:

相关文章

vue实现签约合作弹窗

vue实现签约合作弹窗

实现签约合作弹窗的步骤 使用Vue实现签约合作弹窗可以通过组件化方式完成,结合模态框和表单交互逻辑。以下是具体实现方法: 1. 创建弹窗组件 新建一个Vue组件文件(如SignContractDi…

vue实现绑卡的原理

vue实现绑卡的原理

Vue 实现绑卡的原理 Vue 实现绑卡功能通常涉及前端表单处理、数据绑定、验证以及和后端 API 的交互。以下是实现绑卡功能的核心原理和步骤: 数据绑定与表单处理 Vue 通过 v-model 指…

vue实现单点

vue实现单点

Vue 实现单点登录(SSO)方案 单点登录(SSO)允许用户在多个相关但独立的系统中使用同一组凭证登录。以下是基于 Vue 的实现方案: 基于 OAuth2/OpenID Connect 的实现…

vue实现新闻

vue实现新闻

Vue 实现新闻功能 使用 Vue 实现新闻功能通常涉及新闻列表展示、新闻详情页、分类筛选等模块。以下是实现的基本思路和代码示例。 新闻列表展示 通过 Vue 组件展示新闻列表,通常使用 v-fo…

vue slot实现

vue slot实现

vue slot 的实现方法 在 Vue 中,slot 是一种内容分发机制,允许父组件向子组件传递模板内容。以下是几种常见的 slot 实现方式: 默认 slot 默认 slot 是最基础的 slo…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…