Spring Cloud与JWT
SpringCloud JWT依赖笔记
文档里
spring-security-jwt:1.0.9.RELEASE是老旧废弃包,属于已经停止维护的spring-security-oauth2体系(2022年EOL停止维护)
- 老文档原话背景:仅远古Spring Cloud(Hoxton/Greenwich)搭配老
spring-security-oauth2时,oauth2包会传递依赖这个jwt包,所以写“已经依赖,可以不配”。仅限老版本,新项目不要用。 - 新版(Spring Security5/6 + 新版Spring Cloud):不会自带这个老JWT包,底层换成 Nimbus JOSE + JWT,需要手动引入两个依赖:
<!-- 资源服务器,用于校验JWT -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-resource-server</artifactId>
</dependency>
<!-- JWT编解码、验签JOSE包,替代废弃的spring-security-jwt -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-jose</artifactId>
</dependency>
- 配套知识点(文档标注:JWT做单点登录、会话管理【不推荐】,方案:token+Redis)
原生JWT是无状态的,很难直接实现注销、token提前失效;常见折中方案:JWT + Redis黑名单存放已注销token。>
官方现代技术栈:授权服务器使用 Spring Authorization Server,资源服务器使用上面的 resource-server。

浙公网安备 33010602011771号