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-15 17:35:07 +08:00
|
|
|
|
Task<object?> LoginAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 使用 Refresh Token 刷新 Access Token。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>新的 Token 对。</returns>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
Task<object?> RefreshAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 处理用户登出请求。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>登出结果。</returns>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
Task<object?> LogoutAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
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-15 17:35:07 +08:00
|
|
|
|
Task<object?> AuthorizeAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 刷新当前 Token。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>新的 Token 响应。</returns>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
Task<object?> RefreshAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
|
2026-05-18 11:35:13 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 处理用户登出请求。
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="ctx">服务端点上下文。</param>
|
|
|
|
|
|
/// <returns>登出结果。</returns>
|
2026-05-15 17:35:07 +08:00
|
|
|
|
Task<object?> LogoutAsync(ServiceEndpointContext ctx);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|