欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

JWT 与 Session:无状态认证的取舍与混合方案

发表于:|最后更新:|分类:安全与运维|阅读:2645 次
本文标签:身份认证JWTSession

JWT 与 Session 是两种主流认证方案,前者无状态但难以吊销,后者易管理但有存储成本。

一、核心对比

维度 JWT Session
状态存储 客户端 服务端
水平扩展 天然支持 需共享存储
吊销能力 弱 强
令牌体积 较大 仅 Session ID
跨域支持 好 需配置

二、混合方案

采用短期 Access Token(JWT,15 分钟)+ 长期 Refresh Token(存储于服务端或 Redis)的组合:

json
{
  "access_token": "eyJhbGciOi...",
  "expires_in": 900,
  "refresh_token": "opaque-random-string"
}

Access Token 无状态校验保证性能,Refresh Token 可吊销保证安全。用户登出时只需在服务端删除 Refresh Token,Access Token 在短时间后自然过期。