当前位置:首页 > VUE

vue实现jwt

2026-02-10 09:18:03VUE

Vue 中实现 JWT 认证的步骤

安装依赖 需要安装 jsonwebtokenaxios 用于生成/验证 Token 和发起 HTTP 请求:

npm install jsonwebtoken axios

后端生成 JWT Node.js 后端示例(如 Express)生成 Token:

vue实现jwt

const jwt = require('jsonwebtoken');
const secret = 'your-secret-key';

app.post('/login', (req, res) => {
  const user = { id: 1, username: 'example' };
  const token = jwt.sign(user, secret, { expiresIn: '1h' });
  res.json({ token });
});

前端存储 Token 登录成功后存储 Token 至 localStorage 或 Vuex:

axios.post('/login', credentials)
  .then(response => {
    localStorage.setItem('jwt_token', response.data.token);
  });

请求拦截器 通过 axios 拦截器在请求头添加 Token:

vue实现jwt

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

Token 验证 前端可通过 jwt-decode 解析 Token 判断是否过期:

import jwtDecode from 'jwt-decode';

const token = localStorage.getItem('jwt_token');
if (token) {
  const decoded = jwtDecode(token);
  const isExpired = decoded.exp < Date.now() / 1000;
  if (isExpired) localStorage.removeItem('jwt_token');
}

路由守卫 Vue Router 中配置全局前置守卫保护路由:

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

注意事项

  • 敏感操作需后端二次验证 Token 有效性
  • 避免在 Token 中存储敏感信息
  • HTTPS 环境下使用 JWT
  • 设置合理的 Token 过期时间

标签: vuejwt
分享给朋友:

相关文章

vue如何实现到期提醒

vue如何实现到期提醒

实现 Vue 到期提醒功能 使用计算属性计算剩余时间 在 Vue 组件中定义一个计算属性,计算目标日期与当前日期的差值。通过 Date 对象获取时间戳并计算剩余天数或小时数。 computed: {…

vue实现冰墩墩

vue实现冰墩墩

使用 Vue 实现冰墩墩动画 通过 Vue 的动画特性和 SVG 技术,可以动态渲染冰墩墩的形象。以下是具体实现方法: 准备 SVG 素材 冰墩墩的形象通常由多个 SVG 路径组成,包括身体轮廓、面…

vue 实现注册

vue 实现注册

Vue 实现注册功能 注册功能通常包括表单验证、数据提交和用户反馈。以下是实现注册功能的步骤: 1. 创建注册表单组件 在 Vue 项目中创建一个注册表单组件,包含用户名、邮箱、密码等输入字段。…

vue实现导航

vue实现导航

使用 Vue Router 实现导航 Vue Router 是 Vue.js 官方提供的路由管理器,用于构建单页应用(SPA)的导航系统。以下是实现导航的基本步骤。 安装 Vue Router n…

vue实现加载

vue实现加载

Vue 实现加载功能的方法 使用 v-if 或 v-show 控制加载状态 通过数据绑定控制加载动画的显示与隐藏。v-if 会完全移除 DOM 元素,v-show 只是切换 display 属性。…

vue逻辑实现怎么实现

vue逻辑实现怎么实现

Vue 逻辑实现方法 Vue 的逻辑实现主要通过组件化、响应式数据、计算属性、方法、生命周期钩子等方式完成。以下是一些核心实现方法: 数据驱动与响应式 在 Vue 中,通过 data 选项定义响应式…