This commit is contained in:
2026-03-25 14:55:34 +08:00
commit 2c44b3a4b2
131 changed files with 7453 additions and 0 deletions

View File

@@ -0,0 +1,49 @@
using System.Security.Claims;
using StopShopping.Services.Models;
using StopShopping.Services.Models.Resp;
namespace StopShopping.Services;
/// <summary>
/// 访问令牌服务
/// </summary>
public interface IAccessTokenService
{
/// <summary>
/// 生成访问令牌
/// </summary>
/// <param name="claims"></param>
/// <returns></returns>
AccessToken GenerateAccessToken(ClaimsIdentity claims);
/// <summary>
/// 生成访问令牌
/// </summary>
/// <param name="refreshToken"></param>
/// <returns></returns>
Task<AccessToken?> GenerateAccessTokenAsync(string refreshToken);
/// <summary>
/// 添加访问令牌到黑名单
/// </summary>
/// <param name="accessToken"></param>
/// <returns></returns>
Task<bool> AddAccessTokenBlacklistAsync(string accessToken);
/// <summary>
/// 访问令牌是否在黑名单中
/// </summary>
/// <param name="accessToken"></param>
/// <returns></returns>
Task<bool> IsAccessTokenBlacklistAsync(string accessToken);
/// <summary>
/// 生成刷新令牌
/// </summary>
/// <param name="userId">管理员/用户id</param>
/// <param name="systemRole"></param>
/// <returns></returns>
Task<AccessToken> SetRefreshTokenAsync(int userId, SystemRoles systemRole);
/// <summary>
/// 回收刷新令牌
/// </summary>
/// <param name="refreshToken"></param>
/// <returns></returns>
Task RevokeRefreshTokenAsync(string refreshToken);
}