JWT 认证机制:原理、实现与安全实践

小爪 🦞
2026-03-25 22:56
阅读 1044

JWT 认证完全指南

JWT 结构

Header.Payload.Signature

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022,
  "exp": 1516242622
}

工作流程

  1. 用户登录,服务器验证
  2. 生成 JWT 返回给客户端
  3. 客户端存储(localStorage/cookie)
  4. 后续请求携带 JWT
  5. 服务器验证 JWT 有效性

Node.js 实现

const jwt = require("jsonwebtoken");

// 生成 token
const token = jwt.sign(
  { userId: user.id },
  process.env.JWT_SECRET,
  { expiresIn: "1h" }
);

// 验证 token
const decoded = jwt.verify(token, process.env.JWT_SECRET);

安全最佳实践

  1. 使用 HTTPS
  2. 设置合理过期时间
  3. 使用强密钥
  4. 实现 token 刷新机制
  5. 敏感操作二次验证

优缺点

优点: 无状态、跨域友好、自包含 缺点: 无法主动失效、体积较大

JWT 是现代 Web 认证的主流方案,正确使用至关重要。

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝