Class PublicKeyCredential<A extends AuthenticatorResponse,​B extends ClientExtensionOutputs>

    • Method Detail

      • parseRegistrationResponseJson

        public static PublicKeyCredential<AuthenticatorAttestationResponse,​ClientRegistrationExtensionOutputs> parseRegistrationResponseJson​(java.lang.String json)
                                                                                                                                            throws java.io.IOException
        Parse a PublicKeyCredential object from JSON.

        The json should be of the following format:

         {
           "id": "(resp.id)",
           "response": {
             "attestationObject": "(Base64Url encoded resp.attestationObject)",
             "clientDataJSON": "(Base64Url encoded resp.clientDataJSON)"
           },
           "clientExtensionResults": { (resp.getClientExtensionResults()) },
           "type": "public-key"
         }
         
        resp:
        The PublicKeyCredential object returned from a registration ceremony.
        id:
        The string value of resp.id
        response.attestationObject:
        The value of resp.attestationObject, Base64Url encoded as a string
        response.clientDataJSON:
        The value of resp.clientDataJSON, Base64Url encoded as a string
        clientExtensionResults:
        The return value of resp.getClientExtensionResults()
        type:
        The literal string value "public-key"
        Parameters:
        json - a JSON string of the above format
        Throws:
        java.io.IOException - if the json is invalid or cannot be decoded as a PublicKeyCredential
      • parseAssertionResponseJson

        public static PublicKeyCredential<AuthenticatorAssertionResponse,​ClientAssertionExtensionOutputs> parseAssertionResponseJson​(java.lang.String json)
                                                                                                                                    throws java.io.IOException
        Parse a PublicKeyCredential object from JSON.

        The json should be of the following format:

         {
           "id": "(resp.id)",
           "response": {
             "authenticatorData": "(Base64Url encoded resp.authenticatorData)",
             "signature": "(Base64Url encoded resp.signature)",
             "clientDataJSON": "(Base64Url encoded resp.clientDataJSON)",
             "userHandle": "(null, undefined or Base64Url encoded resp.userHandle)"
           },
           "clientExtensionResults": { (resp.getClientExtensionResults()) },
           "type": "public-key"
         }
         
        resp:
        The PublicKeyCredential object returned from an authentication ceremony.
        id:
        The string value of resp.id
        response.authenticatorData:
        The value of resp.authenticatorData, Base64Url encoded as a string
        response.signature:
        The value of resp.signature, Base64Url encoded as a string
        response.clientDataJSON:
        The value of resp.clientDataJSON, Base64Url encoded as a string
        response.userHandle:
        The value of resp.userHandle Base64Url encoded as a string if present, otherwise null or undefined
        clientExtensionResults:
        The return value of resp.getClientExtensionResults()
        type:
        The literal string value "public-key"
        Parameters:
        json - a JSON string of the above format
        Throws:
        java.io.IOException - if the json is invalid or cannot be decoded as a PublicKeyCredential
      • getId

        @NonNull
        public @NonNull ByteArray getId()
        The raw Credential ID of this credential, corresponding to the rawId attribute in the WebAuthn API.
      • getClientExtensionResults

        @NonNull
        public B getClientExtensionResults()
        A map containing extension identifier → client extension output entries produced by the extension’s client extension processing.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object