| | |
| | | // Create user resource. |
| | | CollectionResourceProvider users = |
| | | builder().connectionFactory(ldapFactory).baseDN("ou=people,dc=example,dc=com") |
| | | .attribute("schemas", constant(Arrays.asList("urn:scim:schemas:core:1.0"))) |
| | | .attribute("id", simple("uid").isSingleValued().isRequired().writability(CREATE_ONLY)) |
| | | .attribute("rev", simple("etag").isSingleValued().writability(READ_ONLY)) |
| | | .attribute("userName", simple("mail").isSingleValued().writability(READ_ONLY)) |
| | | .attribute("displayName", simple("cn").isSingleValued().isRequired()) |
| | | .attribute("name", object() |
| | | .attribute("givenName", simple("givenName").isSingleValued()) |
| | | .attribute("familyName", simple("sn").isSingleValued().isRequired())) |
| | | .attribute("contactInformation", object() |
| | | .attribute("telephoneNumber", simple("telephoneNumber").isSingleValued()) |
| | | .attribute("emailAddress", simple("mail").isSingleValued())) |
| | | .mapper(object() |
| | | .attribute("schemas", constant(Arrays.asList("urn:scim:schemas:core:1.0"))) |
| | | .attribute("id", simple("uid").isSingleValued().isRequired().writability(CREATE_ONLY)) |
| | | .attribute("rev", simple("etag").isSingleValued().writability(READ_ONLY)) |
| | | .attribute("userName", simple("mail").isSingleValued().writability(READ_ONLY)) |
| | | .attribute("displayName", simple("cn").isSingleValued().isRequired()) |
| | | .attribute("name", object() |
| | | .attribute("givenName", simple("givenName").isSingleValued()) |
| | | .attribute("familyName", simple("sn").isSingleValued().isRequired())) |
| | | .attribute("contactInformation", object() |
| | | .attribute("telephoneNumber", simple("telephoneNumber").isSingleValued()) |
| | | .attribute("emailAddress", simple("mail").isSingleValued()))) |
| | | .additionalLDAPAttribute("objectClass", "top", "person", "organizationalPerson", "inetOrgPerson") |
| | | .build(); |
| | | router.addRoute("/users", users); |
| | |
| | | // Create group resource. |
| | | CollectionResourceProvider groups = |
| | | builder().connectionFactory(ldapFactory).baseDN("ou=groups,dc=example,dc=com") |
| | | .attribute("cn", simple("cn").isSingleValued()) |
| | | .attribute("description", simple("description")) |
| | | .attribute("member", simple("uniquemember")) |
| | | .mapper(object() |
| | | .attribute("cn", simple("cn").isSingleValued()) |
| | | .attribute("description", simple("description")) |
| | | .attribute("member", simple("uniquemember"))) |
| | | .build(); |
| | | router.addRoute("/groups", groups); |
| | | |