using System.Security.Claims; namespace MAX.Framework.Security; /// /// 令牌生成结果 /// public class TokenResult { /// /// 令牌类型(Bearer) /// public string TokenType { get; set; } = "Bearer"; /// /// 访问令牌 /// public string Token { get; set; } = string.Empty; /// /// 有效时间(分钟) /// public uint ExpiresInMinutes { get; set; } } /// /// 数据库令牌服务:生成与校验访问令牌。 /// public interface ITokenService { /// /// 根据声明集合生成访问令牌 /// TokenResult CreateToken(IEnumerable claims, string? loginIp = null, string? deviceId = null, string? deviceName = null); /// /// 校验令牌,校验失败返回 null /// Task ValidateTokenAsync(string token); }