:drunk: No idea what did AI did

This commit is contained in:
2025-07-06 19:46:59 +08:00
parent 14b79f16f4
commit 3391c08c04
40 changed files with 2484 additions and 112 deletions

View File

@ -0,0 +1,16 @@
using DysonNetwork.Common.Models;
using DysonNetwork.Pass.Features.Auth.Models;
using NodaTime;
namespace DysonNetwork.Pass.Features.Auth.Interfaces;
public interface IAuthenticationService
{
Task<AuthResult> AuthenticateAsync(string username, string password);
Task<AuthResult> AuthenticateWithOidcAsync(string provider, string code, string state);
Task<AuthResult> RefreshTokenAsync(string refreshToken);
Task<bool> ValidateTokenAsync(string token);
Task LogoutAsync(Guid sessionId);
Task<bool> ValidateSessionAsync(Guid sessionId);
Task<AuthSession> GetSessionAsync(Guid sessionId);
}

View File

@ -0,0 +1,12 @@
using DysonNetwork.Common.Models;
using DysonNetwork.Pass.Features.Auth.Models;
namespace DysonNetwork.Pass.Features.Auth.Interfaces;
public interface IOidcService
{
string GetAuthorizationUrl(string state, string nonce);
Task<OidcUserInfo> ProcessCallbackAsync(OidcCallbackData callbackData);
Task<AuthResult> AuthenticateAsync(string provider, string code, string state);
IEnumerable<string> GetSupportedProviders();
}

View File

@ -0,0 +1,14 @@
using DysonNetwork.Common.Models;
using NodaTime;
namespace DysonNetwork.Pass.Features.Auth.Interfaces;
public interface ISessionService
{
Task<AuthSession> CreateSessionAsync(Guid accountId, string ipAddress, string userAgent);
Task<AuthSession?> GetSessionAsync(Guid sessionId);
Task<bool> ValidateSessionAsync(Guid sessionId);
Task InvalidateSessionAsync(Guid sessionId);
Task InvalidateAllSessionsAsync(Guid accountId, Guid? excludeSessionId = null);
Task UpdateSessionActivityAsync(Guid sessionId);
}