The following JSON schema defines the Advanced LDAP configuration specification. This is especially useful if you intend to support identity management via multiple LDAP domains or organizational units.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"$ref": "#/definitions/ldap_host"
},
"definitions": {
"ldap_host": {
"type": "object",
"properties": {
"ServerType": {
"type": "string",
"enum": ["openldap", "ad", "other"]
},
"Hostname": {
"type": "string",
"format": "hostname"
},
"Port": {
"type": "integer"
},
"Encryption": {
"type": "string",
"enum": ["plain", "starttls", "ldaps"]
},
"BaseDN": {
"type": "string"
},
"UserSearchDNs": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"FieldUsername": {
"type": "string"
},
"SearchUsername": {
"type": "string"
},
"SearchPassword": {
"type": "string"
},
"RestrictedGroupCNs": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"LoginUsername": {
"type": "string"
},
"LoginPassword": {
"type": "string"
},
"AdvancedSearch": {
"type": "boolean"
},
"UserQuery": {
"type": "string"
},
"GroupQuery": {
"type": "string"
}
},
"required": [
"ServerType", "Hostname", "Port", "Encryption", "BaseDN",
"UserSearchDNs", "FieldUsername", "SearchUsername",
"SearchPassword"
],
"additionalProperties": false
}
}
}