XML Schema
The schema definition for the attribute connector configuration is available below in XML, and JSON/YAML format.
- XML
- JSON/YAML
ldap.config.xsd
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://www.axiomatics.com/ldap.config"
xmlns:tns="http://www.axiomatics.com/ldap.config" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="configuration" type="tns:configuration"/>
<xs:complexType name="configuration">
<xs:sequence>
<xs:element name="connnection" type="tns:connnectionMap"/>
<xs:element name="mapping" type="tns:mappingItem" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="connnectionMap">
<xs:sequence>
<xs:element name="key" type="tns:mapEntryType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="mapEntryType">
<xs:sequence/>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="value" type="xs:string"/>
</xs:complexType>
<xs:complexType name="mappingItem">
<xs:sequence>
<xs:element name="xacmlAttribute" type="tns:xacmlAttributeItem"/>
<xs:element name="nativeAttribute" type="tns:nativeAttributeItem"/>
<xs:element name="uId" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="xacmlAttributeItem">
<xs:sequence/>
<xs:attribute name="AttributeId" type="xs:string"/>
<xs:attribute name="Category" type="xs:string"/>
<xs:attribute name="DataType" type="xs:string"/>
<xs:attribute name="Issuer" type="xs:string"/>
</xs:complexType>
<xs:complexType name="nativeAttributeItem">
<xs:sequence>
<xs:element name="searchSelection" type="xs:string"/>
<xs:element name="searchBase" type="xs:string"/>
<xs:element name="searchBaseKey">
<xs:complexType>
<xs:sequence>
<xs:element name="xacmlAttribute" type="tns:xacmlAttributeItem" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="allowMultiple" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="searchScope" type="xs:int"/>
<xs:element name="searchFilter" type="xs:string"/>
<xs:element name="key">
<xs:complexType>
<xs:sequence>
<xs:element name="xacmlAttribute" type="tns:xacmlAttributeItem" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="allowMultiple" type="xs:boolean"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
ldap.config.json
{
"$schema" : "https://json-schema.org/draft/2020-12/schema",
"$defs" : {
"NamedAttribute" : {
"type" : "object",
"properties" : {
"attributeId" : {
"type" : "string"
},
"category" : {
"type" : "string"
},
"datatype" : {
"type" : "string"
},
"issuer" : {
"type" : "string"
}
}
}
},
"type" : "object",
"properties" : {
"connection" : {
"type" : "object",
"properties" : {
"keys" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
}
}
}
}
},
"mappings" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"attributeName" : {
"type" : "string",
"description" : "The attribute name to be mapped to the full attribute definition from the dictionary. It is the recommended way to define an attribute. Alternatively, xacmlAttribute can be used."
},
"nativeAttribute" : {
"type" : "object",
"properties" : {
"key" : {
"type" : "object",
"properties" : {
"allowMultiple" : {
"type" : "boolean"
},
"attributeNames" : {
"description" : "A list of attribute names to be mapped to their full definitions in the dictionary. It is the recommended way to define an attribute. Alternatively, a list of xacmlAttributes can be used.",
"type" : "array",
"items" : {
"type" : "string"
}
},
"xacmlAttributes" : {
"type" : "array",
"items" : {
"$ref" : "#/$defs/NamedAttribute"
}
}
}
},
"searchBase" : {
"type" : "string"
},
"searchBaseKey" : {
"type" : "object",
"properties" : {
"allowMultiple" : {
"type" : "boolean"
},
"attributeNames" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"xacmlAttributes" : {
"type" : "array",
"items" : {
"$ref" : "#/$defs/NamedAttribute"
}
}
}
},
"searchFilter" : {
"type" : "string"
},
"searchScope" : {
"type" : "integer"
},
"searchSelection" : {
"type" : "string"
}
},
"required" : [ "key", "searchBase", "searchFilter" ]
},
"xacmlAttribute" : {
"$ref" : "#/$defs/NamedAttribute"
}
},
"required" : [ "nativeAttribute" ]
}
}
},
"required" : [ "connection", "mappings" ]
}