Class PublicKeyCredential

java.lang.Object
com.codename1.io.webauthn.PublicKeyCredential

public final class PublicKeyCredential extends Object

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).

Immutable. The most common usage is to call toJson() and POST the result to your relying-party server, which then runs full signature / origin / counter verification using a server-side library. Do not try to verify the attestation or assertion on the device -- that is the relying party's responsibility.

Since:
7.0.245
  • Field Details

    • TYPE_PUBLIC_KEY

      public static final String TYPE_PUBLIC_KEY
      Credential type -- always "public-key" for WebAuthn.
      See Also:
  • Method Details

    • fromJson

      public static PublicKeyCredential fromJson(String json)
      Parses a RegistrationResponseJSON / AuthenticationResponseJSON document returned by the native authenticator.
    • toJson

      public String toJson()
      Returns the original JSON. POST this back to your relying-party server verbatim.
    • asMap

      public Map<String,Object> asMap()
      Read-only view of the parsed JSON.
    • getId

      public String getId()
      id -- the credential identifier, base64url-encoded. Stable across ceremonies for the same authenticator + relying party pair, so this is what you store on the server.
    • getRawId

      public String getRawId()
      rawId -- the same identifier as a base64url-encoded byte array.
    • getAuthenticatorAttachment

      public String getAuthenticatorAttachment()
      authenticatorAttachment -- "platform" if a built-in authenticator (Face ID / Touch ID, Android biometrics) handled the request, "cross-platform" for a hardware key, or null if the OS did not report it.
    • isRegistration

      public boolean isRegistration()
      true if this is a registration (create) response. false for an assertion (get) response.
    • getClientDataJSON

      public String getClientDataJSON()
      response.clientDataJSON, base64url-encoded. Decoded server-side and checked against the original challenge / origin.
    • getAttestationObject

      public String getAttestationObject()
      response.attestationObject for a registration response, base64url-encoded. null on an assertion response.
    • getSignature

      public String getSignature()
      response.signature for an assertion response, base64url-encoded. null on a registration response.
    • getUserHandle

      public String getUserHandle()
      response.userHandle for an assertion response, base64url-encoded. Matches the user.id from the registration ceremony.