org.openqa.selenium.devtools.v90.webauthn.model.Credential Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of selenium-devtools-v90 Show documentation
Show all versions of selenium-devtools-v90 Show documentation
Selenium automates browsers. That's it! What you do with that power is entirely up to you.
package org.openqa.selenium.devtools.v90.webauthn.model;
import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;
public class Credential {
private final java.lang.String credentialId;
private final java.lang.Boolean isResidentCredential;
private final java.util.Optional rpId;
private final java.lang.String privateKey;
private final java.util.Optional userHandle;
private final java.lang.Integer signCount;
private final java.util.Optional largeBlob;
public Credential(java.lang.String credentialId, java.lang.Boolean isResidentCredential, java.util.Optional rpId, java.lang.String privateKey, java.util.Optional userHandle, java.lang.Integer signCount, java.util.Optional largeBlob) {
this.credentialId = java.util.Objects.requireNonNull(credentialId, "credentialId is required");
this.isResidentCredential = java.util.Objects.requireNonNull(isResidentCredential, "isResidentCredential is required");
this.rpId = rpId;
this.privateKey = java.util.Objects.requireNonNull(privateKey, "privateKey is required");
this.userHandle = userHandle;
this.signCount = java.util.Objects.requireNonNull(signCount, "signCount is required");
this.largeBlob = largeBlob;
}
public java.lang.String getCredentialId() {
return credentialId;
}
public java.lang.Boolean getIsResidentCredential() {
return isResidentCredential;
}
/**
* Relying Party ID the credential is scoped to. Must be set when adding a
* credential.
*/
public java.util.Optional getRpId() {
return rpId;
}
/**
* The ECDSA P-256 private key in PKCS#8 format.
*/
public java.lang.String getPrivateKey() {
return privateKey;
}
/**
* An opaque byte sequence with a maximum size of 64 bytes mapping the
* credential to a specific user.
*/
public java.util.Optional getUserHandle() {
return userHandle;
}
/**
* Signature counter. This is incremented by one for each successful
* assertion.
* See https://w3c.github.io/webauthn/#signature-counter
*/
public java.lang.Integer getSignCount() {
return signCount;
}
/**
* The large blob associated with the credential.
* See https://w3c.github.io/webauthn/#sctn-large-blob-extension
*/
public java.util.Optional getLargeBlob() {
return largeBlob;
}
private static Credential fromJson(JsonInput input) {
java.lang.String credentialId = null;
java.lang.Boolean isResidentCredential = false;
java.util.Optional rpId = java.util.Optional.empty();
java.lang.String privateKey = null;
java.util.Optional userHandle = java.util.Optional.empty();
java.lang.Integer signCount = 0;
java.util.Optional largeBlob = java.util.Optional.empty();
input.beginObject();
while (input.hasNext()) {
switch(input.nextName()) {
case "credentialId":
credentialId = input.nextString();
break;
case "isResidentCredential":
isResidentCredential = input.nextBoolean();
break;
case "rpId":
rpId = java.util.Optional.ofNullable(input.nextString());
break;
case "privateKey":
privateKey = input.nextString();
break;
case "userHandle":
userHandle = java.util.Optional.ofNullable(input.nextString());
break;
case "signCount":
signCount = input.nextNumber().intValue();
break;
case "largeBlob":
largeBlob = java.util.Optional.ofNullable(input.nextString());
break;
default:
input.skipValue();
break;
}
}
input.endObject();
return new Credential(credentialId, isResidentCredential, rpId, privateKey, userHandle, signCount, largeBlob);
}
}