feat(auth): 添加 JWT 黑名单机制支持

- 在 AuthHelper 中添加 JTI (JWT ID) 生成逻辑
- 为每个 JWT 令牌分配唯一标识符
- 实现 JTI 声明的自动添加功能
- 集成到现有的令牌创建流程中
- 支持后续的令牌黑名单管理需求
This commit is contained in:
hjhan
2026-03-24 14:59:34 +08:00
parent ce842703fb
commit e606587c0c
+8 -1
View File
@@ -36,9 +36,16 @@ namespace YLErp.Helpers
{
var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(JwtSecretKey));
// 添加 JTI (JWT ID) 用于黑名单机制
var claims = new ClaimsIdentity(identity);
if (!claims.HasClaim(c => c.Type == "jti"))
{
claims.AddClaim(new Claim("jti", Guid.NewGuid().ToString("N")));
}
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(identity),
Subject = claims,
Expires = DateTime.UtcNow.AddSeconds(ExpireInSeconds),
Issuer = JwtIssuer,
Audience = JwtAudience,