Passkey Client Operations
interface PasskeyClientOperations
Interface for passkey client operations.
This interface defines the contract for interacting with WebAuthn passkey authenticators. It allows dependency injection of fake implementations for testing.
Implementations
PasskeyClient - Real platform-specific implementation (Android/iOS)
FakePasskeyClient- Test fake for unit tests
Usage
Services that need passkey operations should accept this interface:
class BackupEncryption(
private val passkeyClient: PasskeyClientOperations? = null,
)Content copied to clipboard
For testing:
val fakeClient = FakePasskeyClient(config)
val encryption = BackupEncryption(passkeyClient = fakeClient)Content copied to clipboard
Functions
Link copied to clipboard
abstract suspend fun createCredential(options: PublicKeyCredentialCreationOptions): PasskeyResult<CreateCredentialResult>
Creates a new passkey credential using the platform authenticator.
Link copied to clipboard
abstract suspend fun getAssertion(options: PublicKeyCredentialRequestOptions): PasskeyResult<GetAssertionResult>
Gets an assertion (authenticates) using an existing passkey.
Link copied to clipboard
abstract suspend fun getAssertionWithPrf(options: PublicKeyCredentialRequestOptions, prfSalt: ByteArray): PasskeyResult<GetAssertionWithPrfResult>
Gets an assertion with PRF extension for key derivation.