CloudBuilder/CloudBuilder.Security/Service/IWebAuthnService.cs
owenchen 873f65dbbe ow
2026-08-06 13:15:56 +08:00

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);
}
}