using System.Security.Claims;
using AmtScanner.Api.Models;
namespace AmtScanner.Api.Services;
///
/// JWT 服务接口
///
public interface IJwtService
{
///
/// 生成 Access Token
///
string GenerateAccessToken(User user, IEnumerable roles);
///
/// 生成 Refresh Token
///
string GenerateRefreshToken();
///
/// 验证 Token 并返回 ClaimsPrincipal
///
ClaimsPrincipal? ValidateToken(string token);
///
/// 从过期的 Token 中获取 ClaimsPrincipal
///
ClaimsPrincipal? GetPrincipalFromExpiredToken(string token);
///
/// 获取 Refresh Token 过期时间
///
DateTime GetRefreshTokenExpiryTime();
}