Java JWT 类库对比及使用

2020-04-15  本文已影响0人  又语

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


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

以下是各类 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。

上一篇 下一篇

猜你喜欢

热点阅读