Package com.yubico.webauthn.data
Class PublicKeyCredential<A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
java.lang.Object
com.yubico.webauthn.data.PublicKeyCredential<A,B>
public final class PublicKeyCredential<A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
extends Object
The PublicKeyCredential interface inherits from Credential [CREDENTIAL-MANAGEMENT-1], and contains
the attributes that are returned to the caller when a new credential is created, or a new
assertion is requested.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classPublicKeyCredential.PublicKeyCredentialBuilder<A extends AuthenticatorResponse,B extends ClientExtensionOutputs> -
Method Summary
Modifier and TypeMethodDescriptionstatic <A extends AuthenticatorResponse,B extends ClientExtensionOutputs>
PublicKeyCredential.PublicKeyCredentialBuilder<A,B>.MandatoryStages builder()booleanA map containing extension identifier → client extension output entries produced by the extension’s client extension processing.@NonNull ByteArraygetId()The raw Credential ID of this credential, corresponding to therawIdattribute in the WebAuthn API.The authenticator's response to the client’s request to either create a public key credential, or generate an authentication assertion.@NonNull PublicKeyCredentialTypegetType()ThePublicKeyCredential's type value is the string "public-key".inthashCode()Parse aPublicKeyCredentialobject from JSON.Parse aPublicKeyCredentialobject from JSON.toString()
-
Method Details
-
builder
public static <A extends AuthenticatorResponse,B extends ClientExtensionOutputs> PublicKeyCredential.PublicKeyCredentialBuilder<A,B>.MandatoryStages builder() -
parseRegistrationResponseJson
public static PublicKeyCredential<AuthenticatorAttestationResponse,ClientRegistrationExtensionOutputs> parseRegistrationResponseJson(String json) throws IOException Parse aPublicKeyCredentialobject from JSON.The
jsonshould 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:
IOException- if thejsonis invalid or cannot be decoded as aPublicKeyCredential
-
parseAssertionResponseJson
public static PublicKeyCredential<AuthenticatorAssertionResponse,ClientAssertionExtensionOutputs> parseAssertionResponseJson(String json) throws IOException Parse aPublicKeyCredentialobject from JSON.The
jsonshould 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.userHandleBase64Url encoded as a string if present, otherwisenullorundefined - clientExtensionResults:
- The return value of
resp.getClientExtensionResults() - type:
- The literal string value
"public-key"
- Parameters:
json- a JSON string of the above format- Throws:
IOException- if thejsonis invalid or cannot be decoded as aPublicKeyCredential
-
toBuilder
-
getId
The raw Credential ID of this credential, corresponding to therawIdattribute in the WebAuthn API. -
getResponse
The authenticator's response to the client’s request to either create a public key credential, or generate an authentication assertion.If the
PublicKeyCredentialwas created in response tonavigator.credentials.create(), this attribute’s value will be anAuthenticatorAttestationResponse, otherwise, thePublicKeyCredentialwas created in response tonavigator.credentials.get(), and this attribute’s value will be anAuthenticatorAssertionResponse. -
getClientExtensionResults
A map containing extension identifier → client extension output entries produced by the extension’s client extension processing. -
getType
ThePublicKeyCredential's type value is the string "public-key". -
equals
-
hashCode
public int hashCode() -
toString
-