namespace FileShare_Services.Services.AuthService { /// /// API 登录请求。 /// /// 账号(邮箱或用户名)。 /// 密码。 /// 请求的角色列表。 public sealed record ApiLoginRequest(string? Account, string? Password, string[]? Roles = null); /// /// API Refresh Token 请求。 /// /// 刷新令牌。 public sealed record ApiRefreshTokenRequest(string? RefreshToken); /// /// API 登出请求。 /// /// 要撤销的刷新令牌。 public sealed record ApiLogoutRequest(string? RefreshToken); /// /// 认证 Token 响应,包含 Access Token 和 Refresh Token 及其过期时间。 /// /// 访问令牌。 /// 刷新令牌。 /// 访问令牌过期时间。 /// 刷新令牌过期时间。 /// 用户角色列表。 public sealed record AuthTokenResponse( string AccessToken, string RefreshToken, DateTime AccessTokenExpiresAt, DateTime RefreshTokenExpiresAt, string[] Roles); /// /// PC 端授权码登录请求。 /// /// 第三方授权码。 public sealed record PcAuthorizeRequest(string? AuthorizationCode); /// /// PC 端 Token 刷新请求。 /// /// 当前 Token。 public sealed record PcRefreshRequest(string? Token); /// /// PC 端登出请求。 /// /// 要清除的 Token。 public sealed record PcLogoutRequest(string? Token); /// /// PC 端 Token 响应。 /// /// 访问令牌。 /// 过期时间。 /// 用户角色列表。 public sealed record PcTokenResponse(string Token, DateTime ExpiresAt, string[] Roles); /// /// 第三方授权检查结果。 /// public enum ThirdPartyAuthCheckResult { /// 授权有效。 Valid, /// 授权已丢失。 AuthorizationLost, /// 暂时性失败。 TemporaryFailure, } /// /// 第三方授权客户端接口,用于验证和刷新第三方授权。 /// public interface IPcThirdPartyAuthorizationClient { /// /// 验证第三方授权码是否有效。 /// /// 第三方授权码。 /// 取消令牌。 /// 授权检查结果。 Task ValidateAuthorizationCodeAsync(string authorizationCode, CancellationToken cancellationToken = default); /// /// 刷新第三方授权。 /// /// 授权引用标识。 /// 取消令牌。 /// 授权检查结果。 Task RefreshAuthorizationAsync(string authorizationReference, CancellationToken cancellationToken = default); } }