40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using AmtScanner.Api.Models;
|
|
|
|
namespace AmtScanner.Api.Services;
|
|
|
|
/// <summary>
|
|
/// 认证服务接口
|
|
/// </summary>
|
|
public interface IAuthService
|
|
{
|
|
/// <summary>
|
|
/// 用户登录
|
|
/// </summary>
|
|
Task<(User? user, string? accessToken, string? refreshToken, string? error)> LoginAsync(string userName, string password);
|
|
|
|
/// <summary>
|
|
/// 刷新 Token
|
|
/// </summary>
|
|
Task<(string? accessToken, string? refreshToken, string? error)> RefreshTokenAsync(string accessToken, string refreshToken);
|
|
|
|
/// <summary>
|
|
/// 退出登录
|
|
/// </summary>
|
|
Task<bool> LogoutAsync(int userId);
|
|
|
|
/// <summary>
|
|
/// 获取用户信息
|
|
/// </summary>
|
|
Task<User?> GetUserByIdAsync(int userId);
|
|
|
|
/// <summary>
|
|
/// 获取用户角色
|
|
/// </summary>
|
|
Task<List<string>> GetUserRolesAsync(int userId);
|
|
|
|
/// <summary>
|
|
/// 获取用户列表(分页)
|
|
/// </summary>
|
|
Task<(List<User> users, int total)> GetUsersAsync(int current, int size, string? userName = null, string? status = null);
|
|
}
|