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

时间:2017-10-03 20:29:58

标签: java jjwt

我希望在我的应用程序中实现 jjwt 并希望实现jjwt,当我用Google搜索时,我发现这两个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,所有后端代码都将部署在{{1将在nodejs上部署前端tomcat

希望这些信息足以回答这个问题。

2 个答案:

答案 0 :(得分:5)

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

我需要使用任何一个库的唯一一次是在尝试生成JWT令牌时。

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

答案 1 :(得分:0)

Nimbus包含在spring-security-oauth2-jose中。 它具有目前缺少0.x jjwt的强大功能-验证JWKS