diff --git a/Admin.NET/Admin.NET.Core/Const/ClaimConst.cs b/Admin.NET/Admin.NET.Core/Const/ClaimConst.cs index 7fdf85f3..e26054af 100644 --- a/Admin.NET/Admin.NET.Core/Const/ClaimConst.cs +++ b/Admin.NET/Admin.NET.Core/Const/ClaimConst.cs @@ -65,4 +65,9 @@ public class ClaimConst /// 登录模式PC、APP /// public const string LoginMode = "LoginMode"; + + /// + /// Token版本号 + /// + public const string TokenVersion = "TokenVersion"; } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Core/Entity/SysUser.cs b/Admin.NET/Admin.NET.Core/Entity/SysUser.cs index 0e03bc10..24508e94 100644 --- a/Admin.NET/Admin.NET.Core/Entity/SysUser.cs +++ b/Admin.NET/Admin.NET.Core/Entity/SysUser.cs @@ -313,6 +313,12 @@ public partial class SysUser : EntityTenant [MaxLength(512)] public string? Signature { get; set; } + /// + /// Token版本号 + /// + [SugarColumn(ColumnDescription = "Token版本号")] + public int TokenVersion { get; set; } = 1; + /// /// 最新密码修改时间 /// diff --git a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs index a816273b..cf5463db 100644 --- a/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs @@ -229,7 +229,7 @@ public class SysAuthService : IDynamicApiController, ITransient { ClaimConst.OrgId, user.OrgId }, { ClaimConst.OrgName, user.SysOrg?.Name }, { ClaimConst.OrgType, user.SysOrg?.Type }, - { ClaimConst.LoginMode, loginMode }, + { ClaimConst.TokenVersion, user.TokenVersion }, }, tokenExpire); // 生成刷新Token令牌 diff --git a/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs b/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs index ffaf9a0b..b9e013aa 100644 --- a/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs +++ b/Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs @@ -46,6 +46,8 @@ namespace Admin.NET.Web.Core return; } + // 验证Token版本号 + var sysConfigService = serviceScope.ServiceProvider.GetRequiredService(); var tokenExpire = await sysConfigService.GetTokenExpire(); var refreshTokenExpire = await sysConfigService.GetRefreshTokenExpire();