using HoneyBox.Admin.Models.Auth;
namespace HoneyBox.Admin.Services;
///
/// 认证服务接口
///
public interface IAuthService
{
///
/// 管理员登录
///
/// 登录请求
/// 客户端IP地址
/// 登录响应
Task LoginAsync(LoginRequest request, string ipAddress);
///
/// 退出登录
///
/// 管理员ID
Task LogoutAsync(long adminUserId);
///
/// 获取当前用户信息
///
/// 管理员ID
/// 用户信息
Task GetCurrentUserInfoAsync(long adminUserId);
///
/// 修改密码
///
/// 管理员ID
/// 修改密码请求
Task ChangePasswordAsync(long adminUserId, ChangePasswordRequest request);
///
/// 刷新Token
///
/// Refresh Token
/// 客户端IP地址
/// 新的Token响应
Task RefreshTokenAsync(string refreshToken, string ipAddress);
///
/// 撤销RefreshToken(登出时使用)
///
/// Refresh Token
/// 客户端IP地址
Task RevokeTokenAsync(string refreshToken, string ipAddress);
///
/// 撤销用户所有RefreshToken(强制下线所有设备)
///
/// 管理员ID
/// 客户端IP地址
Task RevokeAllTokensAsync(long adminUserId, string ipAddress);
}