{ // The Rest2LDAP authentication filter configuration. The filter will be // disabled if the configuration is not present. Upon successful // authentication the filter will create a security context containing the // following principals: // // "dn" - the DN of the user if known (may not be the case for sasl-plain) // "id" - the username used for authentication. "authenticationFilter" : { // Indicates whether the filter should allow HTTP BASIC authentication. "supportHTTPBasicAuthentication" : true, // Indicates whether the filter should allow alternative authentication // and, if so, which HTTP headers it should obtain the username and // password from. "supportAltAuthentication" : true, "altAuthenticationUsernameHeader" : "X-OpenIDM-Username", "altAuthenticationPasswordHeader" : "X-OpenIDM-Password", // The search parameters to use for "search-simple" authentication. The // %s filter format parameters will be substituted with the // client-provided username, using LDAP filter string character escaping. "searchBaseDN" : "ou=people,dc=example,dc=com", "searchScope" : "sub", // Or "one". "searchFilterTemplate" : "(&(objectClass=inetOrgPerson)(uid=%s))" // TODO: support for HTTP sessions? }, // The Rest2LDAP Servlet configuration. "servlet" : { // The REST APIs and their LDAP attribute mappings. "mappings" : { "/users" : { "baseDN" : "ou=people,dc=example,dc=com", "readOnUpdatePolicy" : "controls", "useSubtreeDelete" : false, "usePermissiveModify" : true, "etagAttribute" : "etag", "namingStrategy" : { "strategy" : "clientDNNaming", "dnAttribute" : "uid" }, "additionalLDAPAttributes" : [ { "type" : "objectClass", "values" : [ "top", "person", "organizationalPerson", "inetOrgPerson" ] } ], "attributes" : { "schemas" : { "constant" : [ "urn:scim:schemas:core:1.0" ] }, "_id" : { "simple" : { "ldapAttribute" : "uid", "isSingleValued" : true, "isRequired" : true, "writability" : "createOnly" } }, "_rev" : { "simple" : { "ldapAttribute" : "etag", "isSingleValued" : true, "writability" : "readOnly" } }, "userName" : { "simple" : { "ldapAttribute" : "mail", "isSingleValued" : true, "writability" : "readOnly" } }, "displayName" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true, "isRequired" : true } }, "name" : { "object" : { "givenName" : { "simple" : { "ldapAttribute" : "givenName", "isSingleValued" : true } }, "familyName" : { "simple" : { "ldapAttribute" : "sn", "isSingleValued" : true, "isRequired" : true } } } }, "manager" : { "reference" : { "ldapAttribute" : "manager", "baseDN" : "ou=people,dc=example,dc=com", "primaryKey" : "uid", "mapper" : { "object" : { "_id" : { "simple" : { "ldapAttribute" : "uid", "isSingleValued" : true, "isRequired" : true } }, "displayName" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true, "writability" : "readOnlyDiscardWrites" } } } } } }, "groups" : { "reference" : { "ldapAttribute" : "isMemberOf", "baseDN" : "ou=groups,dc=example,dc=com", "writability" : "readOnly", "primaryKey" : "cn", "mapper" : { "object" : { "_id" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true } } } } } }, "contactInformation" : { "object" : { "telephoneNumber" : { "simple" : { "ldapAttribute" : "telephoneNumber", "isSingleValued" : true } }, "emailAddress" : { "simple" : { "ldapAttribute" : "mail", "isSingleValued" : true } } } }, "meta" : { "object" : { "created" : { "simple" : { "ldapAttribute" : "createTimestamp", "isSingleValued" : true, "writability" : "readOnly" } }, "lastModified" : { "simple" : { "ldapAttribute" : "modifyTimestamp", "isSingleValued" : true, "writability" : "readOnly" } } } } } }, "/groups" : { "baseDN" : "ou=groups,dc=example,dc=com", "readOnUpdatePolicy" : "controls", "useSubtreeDelete" : false, "usePermissiveModify" : true, "etagAttribute" : "etag", "namingStrategy" : { "strategy" : "clientDNNaming", "dnAttribute" : "cn" }, "additionalLDAPAttributes" : [ { "type" : "objectClass", "values" : [ "top", "groupOfUniqueNames" ] } ], "attributes" : { "schemas" : { "constant" : [ "urn:scim:schemas:core:1.0" ] }, "_id" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true, "isRequired" : true, "writability" : "createOnly" } }, "_rev" : { "simple" : { "ldapAttribute" : "etag", "isSingleValued" : true, "writability" : "readOnly" } }, "displayName" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true, "isRequired" : true, "writability" : "readOnly" } }, "members" : { "reference" : { "ldapAttribute" : "uniqueMember", "baseDN" : "dc=example,dc=com", "primaryKey" : "uid", "mapper" : { "object" : { "_id" : { "simple" : { "ldapAttribute" : "uid", "isSingleValued" : true, "isRequired" : true } }, "displayName" : { "simple" : { "ldapAttribute" : "cn", "isSingleValued" : true, "writability" : "readOnlyDiscardWrites" } } } } } }, "meta" : { "object" : { "created" : { "simple" : { "ldapAttribute" : "createTimestamp", "isSingleValued" : true, "writability" : "readOnly" } }, "lastModified" : { "simple" : { "ldapAttribute" : "modifyTimestamp", "isSingleValued" : true, "writability" : "readOnly" } } } } } } } } }