# Package com.codename1.io.webauthn

package com.codename1.io.webauthn

WebAuthn / passkey client.

`WebAuthnClient` wraps the OS public-key credential APIs (`ASAuthorizationPlatformPublicKeyCredentialProvider` on iOS 16+, `androidx.credentials.CredentialManager` on Android API 28+) behind a portable, JSON-friendly Java surface, letting an app register and authenticate passkeys against any standards-compliant relying party -- your own backend, Auth0, Firebase, etc.

`PublicKeyCredentialCreationOptions` / `PublicKeyCredentialRequestOptions` describe the ceremony parameters, `PublicKeyCredential` carries the result, and `WebAuthnException` reports cancellation / platform errors. `WebAuthnNative` is the SPI the active port implements.

- Related Packages
  Package
  Description
  com.codename1.io
  Networking, Storage, Filesystem & related API's
- Class
  Description
  PublicKeyCredential
  The authenticator's response to a passkey ceremony -- either a registration (`type=public-key`, `response.attestationObject` present) or an assertion (`response.signature` + `response.authenticatorData` present).
  PublicKeyCredentialCreationOptions
  W3C `PublicKeyCredentialCreationOptionsJSON` -- the options blob your relying-party server sends to start a passkey registration ceremony.
  PublicKeyCredentialCreationOptions.Builder
  Fluent builder for `PublicKeyCredentialCreationOptions`.
  PublicKeyCredentialRequestOptions
  W3C `PublicKeyCredentialRequestOptionsJSON` -- the options blob your relying-party server sends to start a passkey sign-in (assertion) ceremony.
  PublicKeyCredentialRequestOptions.Builder
  Fluent builder for the rare case of synthesising the options client-side (e.g. unit tests).
  WebAuthnClient
  Modern WebAuthn / passkey client.
  WebAuthnException
  Thrown for failures during a WebAuthn / passkey ceremony driven by `WebAuthnClient`.
  WebAuthnNative
  Service-provider interface that `WebAuthnClient` uses to dispatch a passkey ceremony through the OS's public-key credential API (`ASAuthorizationPlatformPublicKeyCredentialProvider` on iOS 16+, `androidx.credentials.CredentialManager` on Android API 28+).