using DysonNetwork.Common.Models; using NodaTime; namespace DysonNetwork.Pass.Features.Auth.Interfaces; public interface IAuthService { Task DetectChallengeRisk(HttpRequest request, Common.Models.Account account); Task CreateSessionForOidcAsync(Common.Models.Account account, Instant time, Guid? customAppId = null); Task ValidateCaptcha(string token); string CreateToken(AuthSession session); Task ValidateSudoMode(AuthSession session, string? pinCode); Task ValidatePinCode(Guid accountId, string pinCode); bool ValidateToken(string token, out Guid sessionId); }