This commit is contained in:
CortexCore
2023-10-02 23:24:56 +08:00
parent 8ef5c7ec0a
commit 947e52e748
183 changed files with 107857 additions and 9378 deletions

View File

@@ -0,0 +1,87 @@
using System;
using Cysharp.Threading.Tasks;
namespace BITKit.Auth
{
/// <summary>
/// 授权服务
/// </summary>
public interface IAuthService
{
/// <summary>
/// 是否已授权
/// </summary>
bool IsAuthorized { get; }
/// <summary>
/// 是否正在授权
/// </summary>
bool IsAuthorizing { get; }
/// <summary>
/// 异步开始授权
/// </summary>
/// <param name="token">令牌</param>
UniTask AuthorizeAsync(string token);
/// <summary>
/// 异步取消授权
/// </summary>
/// <returns></returns>
UniTask CancelAuthorizationAsync();
/// <summary>
/// 开始授权的回调
/// </summary>
event Action<string> OnAuthorize;
/// <summary>
/// 已授权的回调
/// </summary>
event Action<string> OnAuthorized;
/// <summary>
/// 取消授权的回调
/// </summary>
event Action<string> UnAuthorize;
/// <summary>
/// 授权失败的回调
/// </summary>
event Action<string> OnAuthorizeFailure;
}
public abstract class AuthServiceImplement:IAuthService
{
protected abstract IAuthService service { get; }
bool IAuthService.IsAuthorized => service.IsAuthorized;
bool IAuthService.IsAuthorizing => service.IsAuthorizing;
UniTask IAuthService.AuthorizeAsync(string token)
{
return service.AuthorizeAsync(token);
}
UniTask IAuthService.CancelAuthorizationAsync()
{
return service.CancelAuthorizationAsync();
}
event Action<string> IAuthService.OnAuthorize
{
add => service.OnAuthorize += value;
remove => service.OnAuthorize -= value;
}
event Action<string> IAuthService.OnAuthorized
{
add => service.OnAuthorized += value;
remove => service.OnAuthorized -= value;
}
event Action<string> IAuthService.UnAuthorize
{
add => service.UnAuthorize += value;
remove => service.UnAuthorize -= value;
}
event Action<string> IAuthService.OnAuthorizeFailure
{
add => service.OnAuthorizeFailure += value;
remove => service.OnAuthorizeFailure -= value;
}
}
}