Class JsonWebToken
java.lang.Object
io.github.xezzon.zeroweb.auth.JsonWebToken
签发/解码 JWT 的工具类。
提供了基于不同加密算法(ECC、HMAC)的 JWT 签发器和解码器。
- Author:
- xezzon
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classJWT 解码器的抽象基类,提供了验签和解码 JWT 的通用方法。static classJWT 签发器的抽象基类,提供了配置 JWT 声明和签发过程的通用方法。 -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringJWT 中用于存储授权方(Authorized Party)的声明(Claim)名称,通常指 ID 令牌的发行方。static final StringJWT 授权方的值,表示由 ZeroWeb 签发。static final LongJWT 的默认过期时间,单位为秒(2分钟)。static final StringJWT 中用于存储用户组的声明(Claim)名称。static final StringJWT 中用于存储用户昵称的声明(Claim)名称。static final StringJWT 中用于存储用户权限的声明(Claim)名称。static final StringJWT 中用于存储用户角色的声明(Claim)名称。static final StringJWT 中用于存储令牌有效时长的声明(Claim)名称,单位为秒。static final StringJWT 中用于存储用户名的声明(Claim)名称。 -
Method Summary
Modifier and TypeMethodDescriptionstatic JsonWebToken.Decoderdecoder(byte[] secretKey) 创建一个 JWT 解码器,使用对称密钥进行验签。static JsonWebToken.Decoderdecoder(ECPublicKey publicKey) 创建一个 JWT 解码器,使用 ECC 公钥进行验签。static JsonWebToken.Signersigner(byte[] secretKey) 创建一个 JWT 签发器,使用对称密钥进行签名。static JsonWebToken.Signersigner(ECPrivateKey privateKey) 创建一个 JWT 签发器,使用 ECC 私钥进行签名。
-
Field Details
-
USERNAME_CLAIM
-
NICKNAME_CLAIM
-
ROLES_CLAIM
-
GROUPS_CLAIM
-
PERMISSION_CLAIM
-
AUTHORIZED_PARTY_CLAIM
JWT 中用于存储授权方(Authorized Party)的声明(Claim)名称,通常指 ID 令牌的发行方。- See Also:
-
AZP_VALUE
-
TIMEOUT_CLAIM
-
DEFAULT_TIMEOUT
JWT 的默认过期时间,单位为秒(2分钟)。
-
-
Method Details
-
signer
创建一个 JWT 签发器,使用 ECC 私钥进行签名。- Parameters:
privateKey- 用于签名的 ECC 私钥。- Returns:
- 配置好的 JWT 签发器。
-
signer
创建一个 JWT 签发器,使用对称密钥进行签名。- Parameters:
secretKey- 用于签名的对称密钥。- Returns:
- 配置好的 JWT 签发器。
-
decoder
创建一个 JWT 解码器,使用 ECC 公钥进行验签。- Parameters:
publicKey- 用于验签的 ECC 公钥。- Returns:
- 配置好的 JWT 解码器。
-
decoder
创建一个 JWT 解码器,使用对称密钥进行验签。- Parameters:
secretKey- 用于验签的对称密钥。- Returns:
- 配置好的 JWT 解码器。
-