Quick Start

Set up your environment and use the Oracle Unified Directory SCIM REST API to create your first API by performing these tasks.

Prerequisites

Prerequisite More Information

Install cURL

Use cURL

Set up authentication

Authenticate

The installation of OUD

See Oracle Fusion Middleware Installing Oracle Unified Directory

OUD User account and Access control instructions (ACIs) are added.

Oracle Unified Directory SCIM REST API interface supports ACIs configured in OUD. By default, ACIs are restrictive in OUD owing to security reasons. You need to update or configure the ACIs according to your data access requirement designed for your use case.

See Controlling Access To Data in Oracle Fusion Middleware Administrator's Guide for Oracle Unified Directory

Connection handlers are configured.

You must configure the connection handlers to support HTTP-based communication for SCIM REST API.

Run the dsconfig command to configure the HTTP/HTTPS connection handlers. See Configuring SCIM REST API in Oracle Fusion Middleware Administrator's Guide for Oracle Unified Directory.

JKS keystore and JKS Trust Manager Provider is configured

If the LDAPS connection handler is not configured for the OUD instance then you must configure cn=JKS,cn=Key Manager Providers,cn=config and cn=JKS,cn=Trust Manager Providers,cn=config before you set the HTTPS connection handler

  • To configure cn=JKS,cn=Key Manager Providers,cn=config,see Using JKS Key Manager Provider in Oracle Fusion Middleware Administrator's Guide for Oracle Unified Directory.

  • To configure cn=JKS,cn=Trust Manager Providers,cn=config,see Configuring Trust Manager Providers in Oracle Fusion Middleware Administrator's Guide for Oracle Unified Directory.

Task 1: Obtain Account Information

From your account administrator, obtain the appropriate account credentials to enable you to perform tasks. Specifically you will need:
  • User name and password

  • Host and Port

  • HTTP URI:/iam/directory/oud/scim/v1/

Task 2: Send a Request

After you set up your REST client, you can send a HTTP request to ensure that your connection works. For example, suppose you want to create an entry, you can submit HTTP request to URI /iam/directory/oud/scim/v1/Users using POST method and following payload:

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
  ],
  "name": [
    {
      "formatted": "First name Last name",
      "givenName": " First name ",
      "familyName": " Last name "
    }
  ],
   "password": [
    {
      "value": "password"
    }
  ],
"urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User": {
    "employeenumber": "727",
    "objectClass": [
      {
        "value": "top"
      }
    ],
    "mobile": [
      {
        "value": "+1 503 555 0163"
      }
    ],
    "departmentnumber": [
      {
        "value": "1"
      }
    ]
  },
  "emails": [
    {
      "value": "First name@example.com"
    }
  ],
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "department": [
      {
        "value": "1"
      }
    ],
    "employeeNumber": [
      {
        "value": "727"
      }
    ]
  },
  "userName": [
    {
      "value": "First name"
    }
  ]
}

If the request is successful, then you should receive a 200 response with a body such as the following:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
    ],
    "name": [
        {
            "formatted": "First name Last name",
            "givenName": " First name ",
            "familyName": " Last name "
        }
    ],
    "urn:ietf:params:scim:schemas:extension:oracle:2.0:OUD:User": {
        "objectClass": [
            {
                "value": "top"
            },
            {
                "value": "organizationalPerson"
            },
            {
                "value": "person"
            },
            {
                "value": "inetOrgPerson"
            }
        ],
        "mobile": [
            {
                "value": "+1 503 555 0163"
            }
        ]
    },
    "meta": {
        "location": "http://localhost:9080/iam/directory/oud/scim/v1/Users/6e5b9799-39e6-49e7-9e11-c9ceac49e27c",
        "resourceType": "User"
    },
    "emails": [
        {
            "value": "First name@example.com"
        }
    ],
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
        "department": [
            {
                "value": "1"
            }
        ],
        "employeeNumber": [
            {
                "value": "727"
            }
        ]
    },
    "userName": [
        {
            "value": "First name"
        }
    ],
    "id": "6e5b9799-39e6-49e7-9e11-c9ceac49e27c"
}