Spring Boot 集成 JWT 认证全流程
为什么选 JWT
传统的 Session 方案在前后端分离架构下会遇到跨域与分布式共享问题,而 JWT 把用户信息签名后放进令牌本身,服务端无需存储会话,天然适合RESTful API。
整体流程
- 用户提交账号密码
- 服务端校验通过后签发 access_token / refresh_token
- 客户端后续请求携带 Authorization: Bearer <token>
- 网关或拦截器统一校验签名与过期时间
核心代码
public String createToken(Account account) {
return Jwts.builder()
.setSubject(account.getUsername())
.claim("role", account.getRole())
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + EXPIRE))
.signWith(secretKey, SignatureAlgorithm.HS256)
.compact();
}
几个实践建议
- access_token 有效期控制在 2 小时内,配合 refresh_token 静默续期
- 登出场景使用 Redis 黑名单兜底
- 密钥务必走环境变量,不要硬编码
小结
JWT 不是银弹,但在中小型项目中它足够简单可靠。把签发、校验、续期三个环节封装成 starter,后续项目直接复用即可。
全文完
标签:后端Spring Boot
版权声明
本文链接https://www.sanshijiu.cn/post/9
版权声明本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 叁拾玖の小站!
评论区 0
暂无评论,快来抢沙发吧~