Package io.vertx.ext.auth.webauthn

## Class WebAuthnOptions

- java.lang.Object
- - io.vertx.ext.auth.webauthn.WebAuthnOptions

-     public class WebAuthnOptions
      extends Object

  Configuration for the webauthn object
  Author:
    Paulo Lopes

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WebAuthnOptions()` |
    `WebAuthnOptions​(JsonObject json)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WebAuthnOptions` | `addPubKeyCredParam​(PublicKeyCredential pubKeyCredParam)` |
    `WebAuthnOptions` | `addRootCrl​(String value)` | Load a CRL, for example MDS3 certificate should use http://crl.globalsign.net/Root.crl
    `WebAuthnOptions` | `addTransport​(AuthenticatorTransport transport)` |
    `Attestation` | `getAttestation()` |
    `AuthenticatorAttachment` | `getAuthenticatorAttachment()` |
    `int` | `getChallengeLength()` |
    `JsonObject` | `getExtensions()` |
    `List<PublicKeyCredential>` | `getPubKeyCredParams()` |
    `RelyingParty` | `getRelyingParty()` |
    `Boolean` | `getRequireResidentKey()` |
    `ResidentKey` | `getResidentKey()` |
    `X509Certificate` | `getRootCertificate​(String key)` |
    `Map<String,​X509Certificate>` | `getRootCertificates()` |
    `List<X509CRL>` | `getRootCrls()` |
    `Long` | `getTimeoutInMilliseconds()` |
    `List<AuthenticatorTransport>` | `getTransports()` |
    `UserVerification` | `getUserVerification()` |
    `boolean` | `isRelaxedSafetyNetIntegrityVeridict()` |
    `WebAuthnOptions` | `putRootCertificate​(String key, String value)` |
    `WebAuthnOptions` | `setAttestation​(Attestation attestation)` |
    `WebAuthnOptions` | `setAuthenticatorAttachment​(AuthenticatorAttachment authenticatorAttachment)` |
    `WebAuthnOptions` | `setChallengeLength​(int challengeLength)` |
    `WebAuthnOptions` | `setExtensions​(JsonObject extensions)` |
    `WebAuthnOptions` | `setPubKeyCredParams​(List<PublicKeyCredential> pubKeyCredParams)` |
    `WebAuthnOptions` | `setRelaxedSafetyNetIntegrityVeridict​(boolean relaxedSafetyNetIntegrityVeridict)` | Set to true to allow SafetyNet attestation with a relaxed integrity veridict.
    `WebAuthnOptions` | `setRelyingParty​(RelyingParty relyingParty)` |
    `WebAuthnOptions` | `setRequireResidentKey​(Boolean requireResidentKey)` |
    `WebAuthnOptions` | `setResidentKey​(ResidentKey residentKey)` |
    `WebAuthnOptions` | `setRootCertificates​(Map<String,​String> rootCertificates)` |
    `WebAuthnOptions` | `setRootCrls​(List<String> rootCrls)` |
    `WebAuthnOptions` | `setTimeoutInMilliseconds​(Long timeoutInMilliseconds)` |
    `WebAuthnOptions` | `setTransports​(List<AuthenticatorTransport> transports)` |
    `WebAuthnOptions` | `setUserVerification​(UserVerification userVerification)` |
    `JsonObject` | `toJson()` |
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WebAuthnOptions

          public WebAuthnOptions()

    - #### WebAuthnOptions

          public WebAuthnOptions​(JsonObject json)

  - ### Method Detail

    - #### getRelyingParty

          public RelyingParty getRelyingParty()

    - #### setRelyingParty

          public WebAuthnOptions setRelyingParty​(RelyingParty relyingParty)

    - #### getTransports

          public List<AuthenticatorTransport> getTransports()

    - #### setTransports

          public WebAuthnOptions setTransports​(List<AuthenticatorTransport> transports)

    - #### addTransport

          public WebAuthnOptions addTransport​(AuthenticatorTransport transport)

    - #### getAttestation

          public Attestation getAttestation()

    - #### setAttestation

          public WebAuthnOptions setAttestation​(Attestation attestation)

    - #### getResidentKey

          public ResidentKey getResidentKey()

    - #### setResidentKey

          public WebAuthnOptions setResidentKey​(ResidentKey residentKey)

    - #### getPubKeyCredParams

          public List<PublicKeyCredential> getPubKeyCredParams()

    - #### addPubKeyCredParam

          public WebAuthnOptions addPubKeyCredParam​(PublicKeyCredential pubKeyCredParam)

    - #### setPubKeyCredParams

          public WebAuthnOptions setPubKeyCredParams​(List<PublicKeyCredential> pubKeyCredParams)

    - #### getAuthenticatorAttachment

          public AuthenticatorAttachment getAuthenticatorAttachment()

    - #### setAuthenticatorAttachment

          public WebAuthnOptions setAuthenticatorAttachment​(AuthenticatorAttachment authenticatorAttachment)

    - #### getRequireResidentKey

          public Boolean getRequireResidentKey()

    - #### setRequireResidentKey

          public WebAuthnOptions setRequireResidentKey​(Boolean requireResidentKey)

    - #### getUserVerification

          public UserVerification getUserVerification()

    - #### setUserVerification

          public WebAuthnOptions setUserVerification​(UserVerification userVerification)

    - #### getTimeoutInMilliseconds

          public Long getTimeoutInMilliseconds()

    - #### setTimeoutInMilliseconds

          public WebAuthnOptions setTimeoutInMilliseconds​(Long timeoutInMilliseconds)

    - #### getChallengeLength

          public int getChallengeLength()

    - #### setChallengeLength

          public WebAuthnOptions setChallengeLength​(int challengeLength)

    - #### getExtensions

          public JsonObject getExtensions()

    - #### setExtensions

          public WebAuthnOptions setExtensions​(JsonObject extensions)

    - #### getRootCertificates

          public Map<String,​X509Certificate> getRootCertificates()

    - #### getRootCertificate

          public X509Certificate getRootCertificate​(String key)

    - #### setRootCertificates

          public WebAuthnOptions setRootCertificates​(Map<String,​String> rootCertificates)

    - #### putRootCertificate

          public WebAuthnOptions putRootCertificate​(String key,
                                                    String value)

    - #### getRootCrls

          public List<X509CRL> getRootCrls()

    - #### setRootCrls

          public WebAuthnOptions setRootCrls​(List<String> rootCrls)

    - #### addRootCrl

          public WebAuthnOptions addRootCrl​(String value)

      Load a CRL, for example MDS3 certificate should use http://crl.globalsign.net/Root.crl

    - #### isRelaxedSafetyNetIntegrityVeridict

          public boolean isRelaxedSafetyNetIntegrityVeridict()

    - #### setRelaxedSafetyNetIntegrityVeridict

          public WebAuthnOptions setRelaxedSafetyNetIntegrityVeridict​(boolean relaxedSafetyNetIntegrityVeridict)

      Set to true to allow SafetyNet attestation with a relaxed integrity veridict. When the relaxed value is `true`, the SafetyNet attestation will be accepted even if:
      - Certified, genuine device that passes CTS
      - Certified device with unlocked bootloader
      - Genuine but uncertified device, such as when the manufacturer doesn't apply for certification
      - Device with custom ROM (not rooted)
      Parameters:
        `relaxedSafetyNetIntegrityVeridict` - `false` will verify `ctsProfileMatch`, `basicIntegrity` otherwise.
      Returns:
        self.

    - #### toJson

          public JsonObject toJson()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`