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