using OtpNet; namespace EnvelopeGenerator.Application.Contracts.Services; /// /// /// public interface IAuthenticator { /// /// /// /// /// string GenerateCode(int length); /// /// /// /// /// string GenerateTotpSecretKey(int? length = null); /// /// /// /// /// /// /// /// /// byte[] GenerateTotpQrCode(string userEmail, string secretKey, string? issuer = null, string? totpUrlFormat = null, int? pixelsPerModule = null); /// /// /// /// /// /// /// /// /// byte[] GenerateTotpQrCode(string userEmail, int? length = null, string? issuer = null, string? totpUrlFormat = null, int? pixelsPerModule = null); /// /// /// /// /// /// string GenerateTotp(string secretKey, int step = 30); /// /// /// /// /// /// /// /// bool VerifyTotp(string totpCode, string secretKey, int step = 30, VerificationWindow? window = null); }