美文网首页
Java JWT 类库对比及使用

Java JWT 类库对比及使用

作者: 又语 | 来源:发表于2020-04-15 14:28 被阅读0次

本文介绍基于 Java 语言实现的各种 JWT 类库的对比及使用,有关 JWT 可以参考:JSON Web Token(JWT)入门


https://jwt.io/#debugger-io 上可以看到各种编程语言的 JWT 实现库,截止目前基于 Java 语言的实现有:

  • Auth0 实现的 com.auth0 / java-jwt / 3.3.0
  • Brian Campbell 实现的 org.bitbucket.b_c / jose4j / 0.6.3
  • connect2id 实现的 com.nimbusds / nimbus-jose-jwt / 5.7
  • Les Hazlewood 实现的 io.jsonwebtoken / jjwt / 0.9.0
  • FusionAuth 实现的 io.fusionauth / fusionauth-jwt / 3.1.0
  • Vert.x 实现的 io.vertx / vertx-auth-jwt / 3.5.1

以下是各类 JWT 类库支持特性的对比:

JWT 类库 签名支持 验签支持 Payload 字段支持 算法支持
Auth0 iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256
PS384
PS512
EdDSA ?
Brian Campbell iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256
PS384
PS512
EdDSA ?
connect2id iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256
PS384
PS512
EdDSA ?
Les Hazlewood iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256
PS384
PS512
EdDSA ?
FusionAuth iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256
PS384
PS512
EdDSA ?
Vert.x iss
sub
aud
exp
nbf
iat
jti
HS256
HS384
HS512
RS256
RS384
RS512
ES256
ES384
ES512
PS256 ?
PS384 ?
PS512 ?
EdDSA ?

各类库详细介绍及使用参考:

因 connect2id nimbus-jose-jwt 和 Vert.x vertx-auth-jwt 对 JWT 官方规定的 Payload 字段支持不完整,这里未给出使用参考说明。

从易用性, 扩展性, 完整性等来看, 使用首先推荐 jose.4.j JWT。

相关文章

网友评论

      本文标题:Java JWT 类库对比及使用

      本文链接:https://www.haomeiwen.com/subject/obitvhtx.html