2026-05-22 11:42:38 +08:00
|
|
|
|
using Avalonia_Common.Core;
|
2026-05-15 17:35:07 +08:00
|
|
|
|
using Avalonia_Services.Core;
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Avalonia_Services.Services.AuthService
|
|
|
|
|
|
{
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// API 鉴权端点服务接口,定义登录、刷新 Token 和登出操作。
|
|
|
|
|
|
/// </summary>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
public interface IApiAuthEndpointService
|
|
|
|
|
|
{
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 处理用户登录请求。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>包含 Token 的认证响应。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> LoginAsync(ApiLoginRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 使用 Refresh Token 刷新 Access Token。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>新的 Token 对。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> RefreshAsync(ApiRefreshTokenRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 处理用户登出请求。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>登出结果。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> LogoutAsync(ApiLogoutRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// PC 端鉴权端点服务接口,定义授权码登录、Token 刷新和登出操作。
|
|
|
|
|
|
/// </summary>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
public interface IPcAuthEndpointService
|
|
|
|
|
|
{
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 使用授权码进行登录授权。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>包含 Token 的认证响应。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> AuthorizeAsync(PcAuthorizeRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 刷新当前 Token。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>新的 Token 响应。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> RefreshAsync(PcRefreshRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 处理用户登出请求。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>登出结果。</returns>
|
2026-05-22 11:42:38 +08:00
|
|
|
|
Task<IApiResponse> LogoutAsync(PcLogoutRequest request, ServiceEndpointContext ctx);
|
2026-05-15 17:35:07 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|