feat(auth): 添加 JWT 黑名单机制支持
- 在 AuthHelper 中添加 JTI (JWT ID) 生成逻辑 - 为每个 JWT 令牌分配唯一标识符 - 实现 JTI 声明的自动添加功能 - 集成到现有的令牌创建流程中 - 支持后续的令牌黑名单管理需求
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user