Class JWTEncoder
java.lang.Object
tech.riemann.nif.auth.jwt.JWTEncoder
JWT编码器
用于生成和签名JWT(JSON Web Token)令牌
主要功能: 1. 使用指定的JWK(JSON Web Key)对JWT进行签名 2. 支持自定义主题、附加声明、有效期等参数 3. 支持生成刷新令牌(Refresh Token)
使用Nimbus JOSE+JWT库实现JWT的生成和签名
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrefreshToken(String subject) 生成刷新令牌(Refresh Token)com.nimbusds.jose.JWSSignersigner()创建JWS签名器token(com.nimbusds.jose.Payload payload) 使用Payload生成token仅使用主题生成token使用主题和附加声明生成token使用主题、附加声明和自定义有效期生成token
-
Constructor Details
-
JWTEncoder
public JWTEncoder()
-
-
Method Details
-
signer
public com.nimbusds.jose.JWSSigner signer()创建JWS签名器使用配置的JWK创建签名器实例
- Returns:
- JWS签名器实例
- Throws:
RuntimeException- 如果创建签名器失败
-
token
使用Payload生成token- Parameters:
payload- JWT荷载信息- Returns:
- 签名后的JWT字符串
-
token
-
token
-
token
-
refreshToken
生成刷新令牌(Refresh Token)刷新令牌的有效期是普通令牌的两倍 用于在普通令牌过期后,无需重新登录即可获取新的令牌
- Parameters:
subject- JWT主题,通常为用户标识- Returns:
- 刷新令牌字符串
- Throws:
IllegalArgumentException- 如果有效期过大导致溢出
-