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);
}