{
    "title": "FIDO Properties",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.security.properties.fido.FidoProperties",
    "type": "object",
    "properties": {
        "iamFidoUserVerification": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoUserverification",
            "type": "string",
            "enum": [
                "DISCOURAGED",
                "PREFERRED",
                "REQUIRED"
            ]
        },
        "iamFidoTimeout": {
            "type": "integer",
            "minimum": 0
        },
        "iamFidoProtocolType": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoProtocolType",
            "type": "string",
            "enum": [
                "FIDO2",
                "PASSKEY"
            ]
        },
        "iamFidoResidentKey": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoResidentKey",
            "type": "string",
            "enum": [
                "DISCOURAGED",
                "PREFERRED",
                "REQUIRED"
            ]
        },
        "iamFidoAttachment": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoAttachment",
            "type": "string",
            "enum": [
                "PLATFORM",
                "ROAMING"
            ]
        },
        "iamFidoTransports": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.security.properties.fido.FidoTransports",
                "type": "string",
                "enum": [
                    "BLE",
                    "HYBRID",
                    "INTERNAL",
                    "NFC",
                    "USB"
                ]
            }
        },
        "iamFidoRequireAccount": {
            "type": "boolean",
            "default": false
        },
        "iamFidoEmailSettings": {
            "javaType": "com.sos.joc.model.security.properties.fido.FidoEmailSettings",
            "type": "object",
            "properties": {
                "bodyRegistration": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "subjectRegistration": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "ccRegistration": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "bccRegistration": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "bodyAccess": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "subjectAccess": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "ccAccess": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "bccAccess": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "bodyConfirmed": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "subjectConfirmed": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "ccConfirmed": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "bccConfirmed": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "receiptConfirmed": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "sendMailToConfirm": {
                    "description": "true if the confirmation email should be sent",
                    "type": "boolean"
                },
                "sendMailToNotifySuccessfulRegistration": {
                    "description": "true if the email for successful registration should be sent",
                    "type": "boolean"
                },
                "sendMailToNotifyConfirmationReceived": {
                    "description": "true if the email for successful registration should be sent",
                    "type": "boolean"
                },
                "contentType": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "charset": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "encoding": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "priority": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "nameOfJobResource": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                }
            },
            "additionalProperties": false
        }
    },
    "additionalProperties": false
}