{
    "title": "Identiy Providers",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.security.identityservice.IdentityProviders",
    "type": "object",
    "properties": {
        "deliveryDate": {
            "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
            "type": "string",
            "format": "date-time"
        },
        "oidcServiceItems": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.security.identityservice.OidcIdentityProvider",
                "type": "object",
                "properties": {
                    "identityServiceName": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255,
                        "minLength": 1
                    },
                    "iamOidcClientId": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    },
                    "iamOidcClientSecret": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    },
                    "iamOidcName": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    },
                    "iamOidcAuthenticationUrl": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    },
                    "iamIconUrl": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    }
                },
                "additionalProperties": false
            }
        },
        "fido2ndFactorServiceItems": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.security.identityservice.FidoIdentityProvider",
                "type": "object",
                "properties": {
                    "identityServiceName": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255,
                        "minLength": 1
                    },
                    "iamFidoUserVerification": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoUserverification",
                        "type": "string",
                        "enum": [
                            "DISCOURAGED",
                            "PREFERRED",
                            "REQUIRED"
                        ]
                    },
                    "iamFidoTimeout": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "iamFido2Attachment": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoAttachment",
                        "type": "string",
                        "enum": [
                            "PLATFORM",
                            "ROAMING"
                        ]
                    },
                    "iamFidoResidentKey": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoResidentKey",
                        "type": "string",
                        "enum": [
                            "DISCOURAGED",
                            "PREFERRED",
                            "REQUIRED"
                        ]
                    },
                    "iamFidoRequireAccount": {
                        "type": "boolean",
                        "default": false
                    },
                    "iamFidoTransports": {
                        "type": "array",
                        "items": {
                            "javaType": "com.sos.joc.model.security.properties.fido.FidoTransports",
                            "type": "string",
                            "enum": [
                                "BLE",
                                "HYBRID",
                                "INTERNAL",
                                "NFC",
                                "USB"
                            ]
                        }
                    },
                    "iamIconUrl": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    }
                },
                "additionalProperties": false
            }
        },
        "fidoServiceItems": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.security.identityservice.FidoIdentityProvider",
                "type": "object",
                "properties": {
                    "identityServiceName": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255,
                        "minLength": 1
                    },
                    "iamFidoUserVerification": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoUserverification",
                        "type": "string",
                        "enum": [
                            "DISCOURAGED",
                            "PREFERRED",
                            "REQUIRED"
                        ]
                    },
                    "iamFidoTimeout": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "iamFido2Attachment": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoAttachment",
                        "type": "string",
                        "enum": [
                            "PLATFORM",
                            "ROAMING"
                        ]
                    },
                    "iamFidoResidentKey": {
                        "javaType": "com.sos.joc.model.security.properties.fido.FidoResidentKey",
                        "type": "string",
                        "enum": [
                            "DISCOURAGED",
                            "PREFERRED",
                            "REQUIRED"
                        ]
                    },
                    "iamFidoRequireAccount": {
                        "type": "boolean",
                        "default": false
                    },
                    "iamFidoTransports": {
                        "type": "array",
                        "items": {
                            "javaType": "com.sos.joc.model.security.properties.fido.FidoTransports",
                            "type": "string",
                            "enum": [
                                "BLE",
                                "HYBRID",
                                "INTERNAL",
                                "NFC",
                                "USB"
                            ]
                        }
                    },
                    "iamIconUrl": {
                        "type": "string",
                        "pattern": "^[^<>]*$",
                        "maxLength": 255
                    }
                },
                "additionalProperties": false
            }
        }
    },
    "additionalProperties": false
}