using Avalonia_Services.Services.AuthService; using System; using System.Threading; using System.Threading.Tasks; namespace Avalonia_PC.Authentication { /// /// 第三方授权客户端占位实现。接入真实第三方接口时替换此服务即可。 /// public sealed class DefaultPcThirdPartyAuthorizationClient : IPcThirdPartyAuthorizationClient { /// /// 验证第三方授权码是否有效。默认实现将 "invalid" 视为授权丢失,其余视为有效。 /// /// 第三方授权码。 /// 取消令牌。 /// 授权检查结果。 public Task ValidateAuthorizationCodeAsync( string authorizationCode, CancellationToken cancellationToken = default) { if (string.IsNullOrWhiteSpace(authorizationCode) || string.Equals(authorizationCode, "invalid", StringComparison.OrdinalIgnoreCase)) { return Task.FromResult(ThirdPartyAuthCheckResult.AuthorizationLost); } return Task.FromResult(ThirdPartyAuthCheckResult.Valid); } /// /// 刷新第三方授权。默认实现总是返回 TemporaryFailure,表示暂时无法刷新。 /// /// 授权引用标识。 /// 取消令牌。 /// 授权检查结果。 public Task RefreshAuthorizationAsync( string authorizationReference, CancellationToken cancellationToken = default) { if (string.Equals(authorizationReference, "invalid", StringComparison.OrdinalIgnoreCase)) { return Task.FromResult(ThirdPartyAuthCheckResult.AuthorizationLost); } return Task.FromResult(ThirdPartyAuthCheckResult.TemporaryFailure); } } }