33 lines
1.0 KiB
C#
33 lines
1.0 KiB
C#
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<byte[]> existingCredentialIds);
|
|
|
|
Task<StoredBiometricCredential> FinishRegistrationAsync(
|
|
AuthenticatorAttestationRawResponse attestationResponse,
|
|
CredentialCreateOptions originalOptions,
|
|
Func<byte[], Task<bool>> isCredentialIdUnique);
|
|
|
|
AssertionOptions BuildRequestOptions(byte[] storedCredentialId);
|
|
|
|
string BuildRequestOptionsJson(byte[] storedCredentialId);
|
|
|
|
Task<uint> FinishAssertionAsync(
|
|
AuthenticatorAssertionRawResponse assertionResponse,
|
|
AssertionOptions originalOptions,
|
|
byte[] storedPublicKey,
|
|
uint storedCounter);
|
|
}
|
|
}
|