8.3 Sample Configurations for OUD REST Target Application

The following are a few examples of the advanced configurations and schema details for OUD REST Target application.

uidAttributes: "__ACCOUNT__.dn","__GROUP__.dn"

nameAttributes: "__ACCOUNT__.dn","__GROUP__.dn"

relURIs: "__ACCOUNT__.TESTOP=/rest/v1/directory/dc=example,dc=com?base=dc=example,dc=com&scope=sub&filter=(sn=test)","__ACCOUNT__.SEARCHOP=/rest/v1/directory/dc=example,dc=com?base=dc=example,dc=com&scope=sub&filter=(objectclass=inetOrgPerson)","__ACCOUNT__.CREATEOP=/rest/v1/directory","__ACCOUNT__.DELETEOP=/rest/v1/directory/$(__UID__)$","__ACCOUNT__.UPDATEOP=/rest/v1/directory/$(__UID__)$","__ACCOUNT__.attributes.givenName.UPDATEOP=/rest/v1/directory/$(__UID__)$","__ACCOUNT__.attributes.sn.UPDATEOP=/rest/v1/directory/$(__UID__)$","__ACCOUNT__.attributes.cn.UPDATEOP=/rest/v1/directory/$(__UID__)$","__GROUP__.SEARCHOP=/rest/v1/directory/dc=example,dc=com?base=dc=example,dc=com&scope=sub&filter=(objectclass=groupOfUniqueNames)","__ACCOUNT__.__GROUP__.ADDATTRIBUTE=/rest/v1/directory/$(__GROUP__.dn)$","__ACCOUNT__.__GROUP__.REMOVEATTRIBUTE=/rest/v1/directory/$(__GROUP__.dn)$","__ACCOUNT__.__GROUP__.SEARCHOP=/rest/v1/directory/dc=example,dc=com?base=dc=example,dc=com&scope=sub&filter=(uniqueMember=$(__UID__)$)&attributes=cn"

opTypes: "__ACCOUNT__.SEARCHOP=GET","__ACCOUNT__.CREATEOP=POST","__ACCOUNT__.DELETEOP=DELETE","__ACCOUNT__.UPDATEOP=PATCH","__ACCOUNT__.__GROUP__.ADDATTRIBUTE=PATCH","__ACCOUNT__.__GROUP__.REMOVEATTRIBUTE=PATCH","__ACCOUNT__.__GROUP__.SEARCHOP=GET"

specialAttributeTargetFormat:"__ACCOUNT__.uid=attributes.uid","__ACCOUNT__.sn=attributes.sn","__ACCOUNT__.cn=attributes.cn","__ACCOUNT__.givenName=attributes.givenName"

specialAttributeHandling:"__ACCOUNT__.__GROUP__.ADDATTRIBUTE=SINGLE","__ACCOUNT__.__GROUP__.REMOVEATTRIBUTE=SINGLE"

customPayload: "__ACCOUNT__.CREATEOP={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:AddRequest\", \"dn\": \"uid=$(attributes.uid)$,ou=People,dc=example,dc=com\", \"attributes\": { \"sn\": \"$(attributes.sn)$\", \"objectClass\": [ \"person\", \"inetorgperson\", \"organizationalperson\", \"top\" ], \"givenName\": \"$(attributes.givenName)$\", \"cn\": \"$(attributes.cn)$\", \"uid\": \"$(attributes.uid)$\" }}","__ACCOUNT__.attributes.givenName.UPDATEOP={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:ModifyRequest\", \"operations\": [{ \"opType\": \"replace\", \"attribute\": \"givenName\", \"values\": [\"$(attributes.givenName)$\"] } ] }","__ACCOUNT__.attributes.sn.UPDATEOP={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:ModifyRequest\", \"operations\": [{ \"opType\": \"replace\", \"attribute\": \"sn\", \"values\": [\"$(attributes.sn)$\"]}]}","__ACCOUNT__.attributes.cn.UPDATEOP={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:ModifyRequest\", \"operations\": [{ \"opType\": \"replace\", \"attribute\": \"cn\", \"values\": [\"$(attributes.cn)$\"]}]}","__ACCOUNT__.__GROUP__.ADDATTRIBUTE={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:ModifyRequest\", \"operations\": [{ \"opType\": \"add\", \"attribute\": \"uniqueMember\", \"values\": [\"$(__UID__)$\"]}]}","__ACCOUNT__.__GROUP__.REMOVEATTRIBUTE={ \"msgType\": \"urn:ietf:params:rest:schemas:oracle:oud:1.0:ModifyRequest\", \"operations\": [{ \"opType\": \"delete\", \"attribute\": \"uniqueMember\", \"values\": [\"$(__UID__)$\"]}]}"

jsonResourcesTag: "__ACCOUNT__=searchResultEntries","__GROUP__=searchResultEntries","__ACCOUNT__.__GROUP__=searchResultEntries"

The following is an example of Schema details:
Parent Form Target Attributes
  • attributes.uid
  • attributes.givenName
  • attributes.sn
  • attributes.cn
  • __UID__
  • __NAME__

Groups child form target attributes: __GROUP__~__GROUP__~dn