io.vertx.kotlin.ext.auth.webauthn.WebAuthnOptions.kt Maven / Gradle / Ivy
/*
* Copyright 2019 Red Hat, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Apache License v2.0 which accompanies this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Apache License v2.0 is available at
* http://www.opensource.org/licenses/apache2.0.php
*
* You may elect to redistribute this code under either of these licenses.
*/
package io.vertx.kotlin.ext.auth.webauthn
import io.vertx.ext.auth.webauthn.WebAuthnOptions
import io.vertx.ext.auth.webauthn.Attestation
import io.vertx.ext.auth.webauthn.AuthenticatorAttachment
import io.vertx.ext.auth.webauthn.AuthenticatorTransport
import io.vertx.ext.auth.webauthn.PublicKeyCredential
import io.vertx.ext.auth.webauthn.RelyingParty
import io.vertx.ext.auth.webauthn.ResidentKey
import io.vertx.ext.auth.webauthn.UserVerification
/**
* A function providing a DSL for building [io.vertx.ext.auth.webauthn.WebAuthnOptions] objects.
*
* Configuration for the webauthn object
*
* @param relyingParty
* @param transports
* @param attestation
* @param residentKey
* @param pubKeyCredParams
* @param authenticatorAttachment
* @param requireResidentKey
* @param userVerification
* @param timeoutInMilliseconds
* @param challengeLength
* @param extensions
* @param rootCertificates
* @param rootCrls Load a CRL, for example MDS3 certificate should use http://crl.globalsign.net/Root.crl
* @param 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)
*
*
* NOTE: This function has been automatically generated from the [io.vertx.ext.auth.webauthn.WebAuthnOptions original] using Vert.x codegen.
*/
fun webAuthnOptionsOf(
relyingParty: io.vertx.ext.auth.webauthn.RelyingParty? = null,
transports: Iterable? = null,
attestation: Attestation? = null,
residentKey: ResidentKey? = null,
pubKeyCredParams: Iterable? = null,
authenticatorAttachment: AuthenticatorAttachment? = null,
requireResidentKey: Boolean? = null,
userVerification: UserVerification? = null,
timeoutInMilliseconds: Long? = null,
challengeLength: Int? = null,
extensions: io.vertx.core.json.JsonObject? = null,
rootCertificates: Map? = null,
rootCrls: Iterable? = null,
relaxedSafetyNetIntegrityVeridict: Boolean? = null): WebAuthnOptions = io.vertx.ext.auth.webauthn.WebAuthnOptions().apply {
if (relyingParty != null) {
this.setRelyingParty(relyingParty)
}
if (transports != null) {
this.setTransports(transports.toList())
}
if (attestation != null) {
this.setAttestation(attestation)
}
if (residentKey != null) {
this.setResidentKey(residentKey)
}
if (pubKeyCredParams != null) {
this.setPubKeyCredParams(pubKeyCredParams.toList())
}
if (authenticatorAttachment != null) {
this.setAuthenticatorAttachment(authenticatorAttachment)
}
if (requireResidentKey != null) {
this.setRequireResidentKey(requireResidentKey)
}
if (userVerification != null) {
this.setUserVerification(userVerification)
}
if (timeoutInMilliseconds != null) {
this.setTimeoutInMilliseconds(timeoutInMilliseconds)
}
if (challengeLength != null) {
this.setChallengeLength(challengeLength)
}
if (extensions != null) {
this.setExtensions(extensions)
}
if (rootCertificates != null) {
this.setRootCertificates(rootCertificates)
}
if (rootCrls != null) {
this.setRootCrls(rootCrls.toList())
}
if (relaxedSafetyNetIntegrityVeridict != null) {
this.setRelaxedSafetyNetIntegrityVeridict(relaxedSafetyNetIntegrityVeridict)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy