nimbus-jose-jwt 和 io.jsonwebtoken - 选择哪个 jjwt 库,为什么?

The nimbus-jose-jwt and io.jsonwebtoken - which jjwt library to pick and why?

我希望在我的应用程序中实现 jjwt 并希望实现 jjwt,当我用谷歌搜索时,我发现这两个 Maven 依赖项不确定选择哪一个,为什么?

<jjwt.version>0.7.0</jjwt.version>
<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
    <version>${jjwt.version}</version>
</dependency>

其他是

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>nimbus-jose-jwt</artifactId>
    <version>5.1</version>
</dependency>

我已经使用 API 库玩过 POC,但不确定哪一个是可扩展的解决方案。我正在开发 Spring MVC + Spring Security + Spring REST + HATEOAS + CORS + Spring Batch 所有后端代码将部署在 tomcat 和前端是 AngularJS 将部署在 nodejs 上。

希望此信息足以回答问题。

如果您不打算创建 JWT 令牌并且只需要在 Spring 中使用它,那么您实际上不需要任何库。 Spring 将负责为您验证和解码 JWT 令牌。

我唯一需要使用这两个库的时间是在尝试生成 JWT 令牌时。

jsonwebtoken 库使用起来更简单,文档也更好。但我发现 nimbus 库功能更丰富,并且是唯一可以与 JWKS 一起使用的库。

Nimbus 包含在 spring-security-oauth2-jose 中。 它有一个很好的特性,0.x jjwt 目前缺乏 - 验证 JWKS