Package-level declarations

Types

Link copied to clipboard
@Serializable
data class AuthenticationExtensionsClientInputsDto(val prf: PrfExtensionInputDto? = null, val largeBlob: LargeBlobExtensionInputDto? = null, val relatedOrigins: List<String>? = null)
Link copied to clipboard
@Serializable
data class AuthenticationExtensionsClientOutputsDto(val prf: PrfExtensionOutputDto? = null, val largeBlob: LargeBlobExtensionOutputDto? = null)
Link copied to clipboard
@Serializable
data class AuthenticationResponseDto(val id: String, val rawId: String, val response: AuthenticationResponsePayloadDto, val authenticatorAttachment: String? = null, val clientExtensionResults: AuthenticationExtensionsClientOutputsDto? = null, val type: String = PUBLIC_KEY_CREDENTIAL_DTO_TYPE)
Link copied to clipboard
@Serializable
data class AuthenticationResponsePayloadDto(val clientDataJson: String, val authenticatorData: String, val signature: String, val userHandle: String? = null)
Link copied to clipboard
@Serializable
data class AuthenticatorSelectionCriteriaDto(val authenticatorAttachment: String? = null, val requireResidentKey: Boolean? = null, val residentKey: String? = null, val userVerification: String? = null)
Link copied to clipboard
class KotlinxWebAuthnJsonCodec(json: Json = Json { encodeDefaults = false ignoreUnknownKeys = true }) : WebAuthnJsonCodec

kotlinx.serialization implementation of the neutral WebAuthnJsonCodec boundary.

Link copied to clipboard
@Serializable
data class LargeBlobExtensionInputDto(val support: String? = null, val read: Boolean? = null, val write: String? = null)
Link copied to clipboard
@Serializable
data class LargeBlobExtensionOutputDto(val supported: Boolean? = null, val blob: String? = null, val written: Boolean? = null)
Link copied to clipboard
@Serializable
data class PrfExtensionInputDto(val eval: PrfValuesDto? = null, val evalByCredential: Map<String, PrfValuesDto>? = null)
Link copied to clipboard
@Serializable
data class PrfExtensionOutputDto(val enabled: Boolean? = null, val results: PrfValuesDto? = null)
Link copied to clipboard
@Serializable
data class PrfValuesDto(val first: String, val second: String? = null)
Link copied to clipboard
@Serializable
data class PublicKeyCredentialCreationOptionsDto(val rp: RpEntityDto, val user: UserEntityDto, val challenge: String, val pubKeyCredParams: List<PublicKeyCredentialParametersDto>, val timeoutMs: Long? = null, val excludeCredentials: List<PublicKeyCredentialDescriptorDto> = [], val authenticatorSelection: AuthenticatorSelectionCriteriaDto? = null, val attestation: String? = null, val extensions: AuthenticationExtensionsClientInputsDto? = null)
Link copied to clipboard
@Serializable
data class PublicKeyCredentialDescriptorDto(val type: String, val id: String, val transports: List<String>? = null)
Link copied to clipboard
@Serializable
data class PublicKeyCredentialParametersDto(val type: String, val alg: Int)
Link copied to clipboard
@Serializable
data class PublicKeyCredentialRequestOptionsDto(val challenge: String, val rpId: String? = null, val timeoutMs: Long? = null, val allowCredentials: List<PublicKeyCredentialDescriptorDto> = [], val userVerification: String = "preferred", val extensions: AuthenticationExtensionsClientInputsDto? = null)
Link copied to clipboard
@Serializable
data class RegistrationResponseDto(val id: String, val rawId: String, val response: RegistrationResponsePayloadDto, val authenticatorAttachment: String? = null, val clientExtensionResults: AuthenticationExtensionsClientOutputsDto? = null, val type: String = PUBLIC_KEY_CREDENTIAL_DTO_TYPE)
Link copied to clipboard
@Serializable
data class RegistrationResponsePayloadDto(val clientDataJson: String, val attestationObject: String)
Link copied to clipboard
@Serializable
data class RelatedOriginsDto(val origins: List<String>)

DTO for the /.well-known/webauthn file used by the Related Origins extension.

Link copied to clipboard
@Serializable
data class RpEntityDto(val id: String? = null, val name: String)
Link copied to clipboard
@Serializable
data class UserEntityDto(val id: String, val name: String, val displayName: String)
Link copied to clipboard

Maps between wire DTOs and strict WebAuthn model types with validation aggregation.