Class JwtKeyManager
java.lang.Object
io.github.xezzon.zeroweb.crypto.internal.JwtKeyManager
- All Implemented Interfaces:
JwtCryptoService
JWT 密钥管理器,用于生成、保存和加载 JWT 密钥对以及签发 JWT。
- Author:
- xezzon
-
Constructor Summary
ConstructorsConstructorDescriptionJwtKeyManager(io.github.xezzon.zeroweb.common.config.ZerowebConfig zerowebConfig) 依赖注入 -
Method Summary
Modifier and TypeMethodDescription获取公钥void在应用启动后,加载私钥。void打印公钥到控制台void将公钥保存到文件中(PKCS8)signJwt(@NonNull io.github.xezzon.zeroweb.auth.JwtClaim claim) 根据给定的声明生成并签名一个 JWT 字符串。
-
Constructor Details
-
JwtKeyManager
public JwtKeyManager(io.github.xezzon.zeroweb.common.config.ZerowebConfig zerowebConfig) 依赖注入- Parameters:
zerowebConfig- JWT 设置
-
-
Method Details
-
loadPrivateKey
@PostConstruct public void loadPrivateKey()在应用启动后,加载私钥。
如果无法找到私钥文件或解析失败,则生成新的密钥对并保存私钥文件。
加载成功后,将公钥广播出去。
-
signJwt
Description copied from interface:JwtCryptoService根据给定的声明生成并签名一个 JWT 字符串。- Specified by:
signJwtin interfaceJwtCryptoService- Parameters:
claim- JWT 声明对象- Returns:
- 生成的 JWT 字符串
-
getPublicKey
-
printPublicKey
打印公钥到控制台- Parameters:
event- 公钥
-
savePublicKeyToClasspath
将公钥保存到文件中(PKCS8)- Parameters:
event- 公钥
-