Class AssertionRequest
- java.lang.Object
-
- com.yubico.webauthn.AssertionRequest
-
public final class AssertionRequest extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AssertionRequest.AssertionRequestBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AssertionRequest.AssertionRequestBuilder.MandatoryStages
builder()
boolean
equals(java.lang.Object o)
static AssertionRequest
fromJson(java.lang.String json)
Decode anAssertionRequest
from JSON.@NonNull PublicKeyCredentialRequestOptions
getPublicKeyCredentialRequestOptions()
An object that can be serialized to JSON and passed as thepublicKey
argument tonavigator.credentials.get()
.java.util.Optional<ByteArray>
getUserHandle()
The user handle of the user to authenticate, if the user has already been identified.java.util.Optional<java.lang.String>
getUsername()
The username of the user to authenticate, if the user has already been identified.int
hashCode()
AssertionRequest.AssertionRequestBuilder
toBuilder()
java.lang.String
toCredentialsGetJson()
Serialize thisAssertionRequest
value to JSON suitable for sending to the client.java.lang.String
toJson()
Encode thisAssertionRequest
to JSON.java.lang.String
toString()
-
-
-
Method Detail
-
getUsername
public java.util.Optional<java.lang.String> getUsername()
The username of the user to authenticate, if the user has already been identified.This is mutually exclusive with
getUserHandle()
; if this is present, thengetUserHandle()
will be empty.If both this and
getUserHandle()
are empty, this indicates that this is a request for an assertion by a client-side-discoverable credential, and identification of the user has been deferred until the response is received.
-
getUserHandle
public java.util.Optional<ByteArray> getUserHandle()
The user handle of the user to authenticate, if the user has already been identified.This is mutually exclusive with
getUsername()
; if this is present, thengetUsername()
will be empty.If both this and
getUsername()
are empty, this indicates that this is a request for an assertion by a client-side-discoverable credential, and identification of the user has been deferred until the response is received.
-
toCredentialsGetJson
public java.lang.String toCredentialsGetJson() throws com.fasterxml.jackson.core.JsonProcessingException
Serialize thisAssertionRequest
value to JSON suitable for sending to the client.This is an alias of
getPublicKeyCredentialRequestOptions().toCredentialsGetJson()
.Any
ByteArray
values in this data structure will beBase64Url
encoded. Those values MUST be decoded intoBufferSource
values (such asUint8Array
) on the client side before callingnavigator.credentials.get()
.After decoding binary values, the resulting JavaScript object is suitable for passing as an argument to
navigator.credentials.get()
.- Returns:
- a JSON value suitable for sending to the client and passing as an argument to
navigator.credentials.get()
, after decoding binary options from Base64Url strings. - Throws:
com.fasterxml.jackson.core.JsonProcessingException
- if JSON serialization fails.
-
toJson
public java.lang.String toJson() throws com.fasterxml.jackson.core.JsonProcessingException
Encode thisAssertionRequest
to JSON. The inverse offromJson(String)
.This method is suitable for encoding the
AssertionRequest
for temporary storage so that it can later be passed as an argument toRelyingParty.finishAssertion(FinishAssertionOptions)
. ThefromJson(String)
factory function is guaranteed to restore an identicalAssertionRequest
instance.Note that encoding might not be needed if you can simply keep the
AssertionRequest
instance in server memory.- Returns:
- this
AssertionRequest
encoded to JSON. - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
fromJson
public static AssertionRequest fromJson(java.lang.String json) throws com.fasterxml.jackson.core.JsonProcessingException
Decode anAssertionRequest
from JSON. The inverse oftoJson()
.If the JSON was generated by the
toJson()
method, thenfromJson(String)
in the same library version guarantees to restore an identicalAssertionRequest
instance. This is not guaranteed between different library versions.- Returns:
- a
AssertionRequest
decoded from the input JSON. - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
builder
public static AssertionRequest.AssertionRequestBuilder.MandatoryStages builder()
-
toBuilder
public AssertionRequest.AssertionRequestBuilder toBuilder()
-
getPublicKeyCredentialRequestOptions
@NonNull public @NonNull PublicKeyCredentialRequestOptions getPublicKeyCredentialRequestOptions()
An object that can be serialized to JSON and passed as thepublicKey
argument tonavigator.credentials.get()
.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-