using Fido2NetLib; using Fido2NetLib.Objects; using CloudBuilder.Core.Service; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CloudBuilder.Security.Data; namespace CloudBuilder.Security.Service { public interface IWebAuthnService : IService { CredentialCreateOptions BuildCreationOptions(string username, byte[] userId, IReadOnlyList existingCredentialIds); Task FinishRegistrationAsync( AuthenticatorAttestationRawResponse attestationResponse, CredentialCreateOptions originalOptions, Func> isCredentialIdUnique); AssertionOptions BuildRequestOptions(byte[] storedCredentialId); string BuildRequestOptionsJson(byte[] storedCredentialId); Task FinishAssertionAsync( AuthenticatorAssertionRawResponse assertionResponse, AssertionOptions originalOptions, byte[] storedPublicKey, uint storedCounter); } }