Package-level declarations

Types

Link copied to clipboard
sealed interface AttestationPolicy

Attestation handling strategy applied during registration completion.

Link copied to clipboard

Input for finishing authentication (WebAuthn L3 §7.2 assertion verification).

Link copied to clipboard
class AuthenticationService(challengeStore: ChallengeStore, credentialStore: CredentialStore, userAccountStore: UserAccountStore, signatureVerifier: SignatureVerifier, rpIdHasher: RpIdHasher, clientDataDecoder: CollectedClientDataDecoder, extensionHooks: List<WebAuthnExtensionHook> = [], originMetadataProvider: OriginMetadataProvider = NoOpOriginMetadataProvider, nowEpochMs: () -> Long = { System.currentTimeMillis() })

Server authentication ceremony service (WebAuthn L3 §7.2).

Link copied to clipboard
data class AuthenticationStartRequest(val rpId: RpId, val origin: Origin, val userName: String? = null, val timeoutMs: Long, val userVerification: UserVerificationRequirement = UserVerificationRequirement.PREFERRED, val extensions: AuthenticationExtensionsClientInputs? = null)

Input for starting authentication (WebAuthn L3 §7.2 ceremony options assembly).

Link copied to clipboard
interface ChallengeStore

Stores one-time challenge sessions for registration/authentication ceremonies.

Link copied to clipboard
interface CredentialStore

Stores credential public keys and signature counters.

Link copied to clipboard

In-memory challenge/session store for development and tests.

Link copied to clipboard

In-memory credential store for development and tests.

Link copied to clipboard

In-memory user-account store for development and tests.

Link copied to clipboard

Input for finishing registration (WebAuthn L3 §7.1 response verification).

Link copied to clipboard
class RegistrationService(challengeStore: ChallengeStore, credentialStore: CredentialStore, userAccountStore: UserAccountStore, attestationVerifier: AttestationVerifier, rpIdHasher: RpIdHasher, clientDataDecoder: CollectedClientDataDecoder, attestationPolicy: AttestationPolicy = AttestationPolicy.Strict, extensionHooks: List<WebAuthnExtensionHook> = [], originMetadataProvider: OriginMetadataProvider = NoOpOriginMetadataProvider, nowEpochMs: () -> Long = { System.currentTimeMillis() })

Server registration ceremony service (WebAuthn L3 §7.1).

Link copied to clipboard
data class RegistrationStartRequest(val rpId: RpId, val rpName: String, val origin: Origin, val userName: String, val userDisplayName: String, val userHandle: UserHandle, val timeoutMs: Long, val residentKey: ResidentKeyRequirement = ResidentKeyRequirement.PREFERRED, val userVerification: UserVerificationRequirement = UserVerificationRequirement.PREFERRED, val extensions: AuthenticationExtensionsClientInputs? = null)

Input for starting registration (WebAuthn L3 §7.1 ceremony options assembly).

Link copied to clipboard
data class StoredCredential(val credentialId: CredentialId, val userId: UserHandle, val rpId: RpId, val publicKeyCose: CosePublicKey, val signCount: Long)

Persisted authenticator credential material used for assertion verification.

Link copied to clipboard
data class UserAccount(val id: UserHandle, val name: String, val displayName: String)

Server-side account identity used to map usernames to stable UserHandle values.

Link copied to clipboard

Stores user-account records keyed by login name.