3 Performing the Postconfiguration Tasks for the Generic REST Connector

These are the tasks that you can perform after creating the application in Oracle Identity Governance.

3.1 Creating a UI Form for an Application

During application creation, if you did not choose to create a default form, then you must create a UI form for the application that you created by using the connector.

Note:

Perform the procedures described in this section only if you did not choose to create the default form during creating the application.

The following topics describe the procedures to create a UI form an application:

3.1.1 Creating and Activating a Sandbox

You must create and activate a sandbox to begin using the customization and form management features.

See Creating a Sandbox and Activating a Sandbox in Oracle Fusion Middleware Developing and Customizing Applications for Oracle Identity Governance.

3.1.2 Creating a New UI Form

You can use Form Designer in Oracle Identity System Administration to create and manage application instance forms.

See Creating Forms By Using the Form Designer in Oracle Fusion Middleware Administering Oracle Identity Governance.

While creating the UI form, ensure that you select the resource object corresponding to the newly created application that you want to associate the form with. In addition, select the Generate Entitlement Forms check box.

3.1.3 Associating the Form with the Application Instance

By default, an application instance is automatically created after you install the connector. You must associate this application instance with the form created in Creating a New UI Form.

See Managing Application Instances in Oracle Fusion Middleware Administering Oracle Identity Manager for instructions on modifying an application instance to associate it with a form.

3.1.4 Publishing a Sandbox

Before publishing a sandbox, perform this procedure as a best practice to validate all sandbox changes made till this stage as it is difficult to revert the changes after a sandbox is published.

  1. In Identity System Administration, deactivate the sandbox.

  2. Log out of Identity System Administration.

  3. Log in to Identity Self Service using the xelsysadm user credentials and then activate the sandbox that you deactivated in Step 1.

  4. In the Catalog, ensure that the application instance form for your resource appears with correct fields.

  5. Publish the sandbox. See Publishing a Sandbox in Oracle Fusion Middleware Developing and Customizing Applications for Oracle Identity Governance.

3.2 Updating an Existing Application Instance with a New Form

For any changes that you do in the schema of your application in Identity Self Service, you must create a new UI form and update the changes in an application instance.

To update an existing application instance with a new form:

  1. Create and activate a sandbox.

  2. Create a new UI form for the resource.

  3. Open the existing application instance.

  4. In the Form field, select the new UI form that you created.

  5. Save the application instance.

  6. Publish the sandbox.

See Also:

3.3 Harvesting Entitlements and Sync Catalog

You can populate Entitlement schema from child process form table, and harvest roles, application instances, and entitlements into catalog. You can also load catalog metadata.

To harvest entitlements and sync catalog:
  1. Run the reconciliation jobs for entitlements discussed in Reconciliation Jobs.
  2. Run the Entitlement List scheduled job to populate Entitlement Assignment schema from child process form table.
  3. Run the Catalog Synchronization Job scheduled job.

    See Also:

    Predefined Scheduled Tasks in Oracle Fusion Middleware Administering Oracle Identity Manager

3.4 Managing Logging for the Generic REST Connector

Oracle Identity Governance uses the Oracle Diagnostic Logging (ODL) logging service for recording all types of events pertaining to the connector.

The following topics contain detailed information:

3.4.1 Understanding Log Levels

When you enable logging, Oracle Identity Governance automatically stores in a log file information about events that occur during the course of provisioning and reconciliation operations.

ODL is the principle logging service used by Oracle Identity Governance and is based on java.util.logger. To specify the type of event for which you want logging to take place, you can set the log level to one of the following:

  • SEVERE.intValue()+100

    This level enables logging of information about fatal errors.

  • SEVERE

    This level enables logging of information about errors that might allow Oracle Identity Governance to continue running.

  • WARNING

    This level enables logging of information about potentially harmful situations.

  • INFO

    This level enables logging of messages that highlight the progress of the application.

  • CONFIG

    This level enables logging of information about fine-grained events that are useful for debugging.

  • FINE, FINER, FINEST

    These levels enable logging of information about fine-grained events, where FINEST logs information about all events.

These message types are mapped to ODL message type and level combinations as shown in Table 3-1.

Table 3-1 Log Levels and ODL Message Type:Level Combinations

Java Level ODL Message Type:Level

SEVERE.intValue()+100

INCIDENT_ERROR:1

SEVERE

ERROR:1

WARNING

WARNING:1

INFO

NOTIFICATION:1

CONFIG

NOTIFICATION:16

FINE

TRACE:1

FINER

TRACE:16

FINEST

TRACE:32

The configuration file for OJDL is logging.xml, which is located at the following path:

DOMAIN_HOME/config/fmwconfig/servers/OIM_SERVER/logging.xml

Here, DOMAIN_HOME and OIM_SERVER are the domain name and server name specified during the installation of Oracle Identity Governance.

3.4.2 Enabling Logging

To enable logging in Oracle WebLogic Server:

  1. Edit the logging.xml file as follows:

    1. Add the following blocks in the file:

      <log_handler name='genericrest-handler' level='[LOG_LEVEL]' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='[FILE_NAME]'/>
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
      
      <logger name="ORG.IDENTITYCONNECTORS.GENERICREST" level="[LOG_LEVEL]" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
      </logger>
      <logger name="ORG.IDENTITYCONNECTORS.RESTCOMMON.UTILS.RESTCOMMONUTILS" level="[LOG_LEVEL]" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
      </logger>
    2. Replace all occurrences of [LOG_LEVEL] with the ODL message type and level combination that you require. Table 3-2 lists the supported message type and level combinations.

      Similarly, replace [FILE_NAME] with the full path and name of the log file in which you want log messages specific to connector operations to be recorded.

      The following blocks show sample values for [LOG_LEVEL] and [FILE_NAME] :

      <log_handler name='genericrest-handler' level='NOTIFICATION:1' class='oracle.core.ojdl.logging.ODLHandlerFactory'>
      <property name='logreader:' value='off'/>
           <property name='path' value='/<%OIM_DOMAIN%>/servers/oim_server1/logs/genericrestLogs.log>"
           <property name='format' value='ODL-Text'/>
           <property name='useThreadName' value='true'/>
           <property name='locale' value='en'/>
           <property name='maxFileSize' value='5242880'/>
           <property name='maxLogSize' value='52428800'/>
           <property name='encoding' value='UTF-8'/>
         </log_handler>
       
      <logger name="ORG.IDENTITYCONNECTORS.GENERICREST" level="NOTIFICATION:1" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
      </logger>
      <logger name="ORG.IDENTITYCONNECTORS.RESTCOMMON.UTILS.RESTCOMMONUTILS" level="NOTIFICATION:1" useParentHandlers="false">
           <handler name="genericrest-handler"/>
           <handler name="console-handler"/>
         </logger>

    With these sample values, when you use Oracle Identity Manager, all messages generated for this connector that are of a log level equal to or higher than the NOTIFICATION:1 level are recorded in the specified file.

  2. Save and close the file.

  3. Set the following environment variable to redirect the server logs to a file:

    For Microsoft Windows:

    set WLS_REDIRECT_LOG=FILENAME
    

    For UNIX:

    export WLS_REDIRECT_LOG=FILENAME
    

    Replace FILENAME with the location and name of the file to which you want to redirect the output.

  4. Restart the application server.

3.5 Localizing Field Labels in UI Forms

You can localize UI form field labels by creating and using a file containing localized versions for your target system fields.

To localize field label that you add to in UI forms:
  1. Create a properties file (for example, GR_ja.properties) containing localized versions for the column names in your target system (to be displayed as text strings for GUI elements and messages in Identity System Administration and Identity Self Service).
  2. Log in to Oracle Enterprise Manager.
  3. In the left pane, expand Application Deployments and then select oracle.iam.console.identity.sysadmin.ear.
  4. In the right pane, from the Application Deployment list, select MDS Configuration.
  5. On the MDS Configuration page, click Export and save the archive to the local computer.
  6. Extract the contents of the archive, and open the following file in a text editor:

    SAVED_LOCATION\xliffBundles\oracle\iam\ui\runtime\BizEditorBundle_en.x

  7. Edit the BizEditorBundle.xlf file in the following manner:
    1. Search for the following text:
      <file source-language="en"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
    2. Replace with the following text:
      <file source-language="en" target-language="LANG_CODE"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">

      In this text, replace LANG_CODE with the code of the language that you want to localize the form field labels. The following is a sample value for localizing the form field labels in Japanese:

      <file source-language="en" target-language="ja"
      original="/xliffBundles/oracle/iam/ui/runtime/BizEditorBundle.xlf"
      datatype="x-oracle-adf">
    3. Search for the application instance code. This procedure shows a sample edit for Generic Rest application instance. The original code is:
      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_GENERIC_NAME_GIVEN_NAME__c_description']}">
      <source>Name Givenname</source>
      <target/>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.GRGAForm1.entity.GRGAForm1EO.UD_GENERIC_NAME_GIVEN_NAME__c_LABEL">
      <source>Name Givenname</source>
      <target/>
    4. Open the properties file created in Step 1 and get the value of the attribute, for example, global.udf.UD_GENERIC_NAME_GIVEN_NAME = \u4567d.
    5. Replace the original code shown in Step c with the following:
      <trans-unit id="${adfBundle['oracle.adf.businesseditor.model.util.BaseRuntimeResourceBundle']['persdef.sessiondef.oracle.iam.ui.runtime.form.model.user.entity.userEO.UD_GENERIC_NAME_GIVEN_NAME__c_description']}">
      <source>Name Givenname</source>
      <target>\u4567d</target>
      </trans-unit>
      <trans-unit id="sessiondef.oracle.iam.ui.runtime.form.model.GRGAForm1.entity.GRGAForm1EO.UD_GENERIC_NAME_GIVEN_NAME__c_LABEL">
      <source>Name Givenname</source>
      <target>\u4567d</target>
    6. Repeat Steps 7.a through 7.d for all attributes of the process form.
    7. Save the file as BizEditorBundle_LANG_CODE.xlf. In this file name, replace LANG_CODE with the code of the language to which you are localizing. Sample file name: BizEditorBundle_ja.xlf.
  8. Repackage the ZIP file and import it into MDS.

    See Also:

    Deploying and Undeploying Customizations in Oracle Fusion Middleware Developing and Customizing Applications for Oracle Identity Governance for more information about exporting and importing metadata files

  9. Log out of and log in to Oracle Identity Governance.

3.6 Configuring SSL

You must configure SSL to secure data communication between Oracle Identity Governance and your target system.

To configure SSL:
  1. Obtain the SSL public key certificate for the REST-based target system.
  2. Copy the public key certificate of the REST-based target system to the computer hosting Oracle Identity Governance.
  3. Run the following keytool command to import the target system certificate into the Oracle WebLogic Server keystore:
    keytool -import -keystore KEYSTORE_NAME -storepass PASSWORD -file CERT_FILE_NAME -alias ALIAS
    In this command:
    • KEYSTORE_NAME is the full path and name of the DemoTrust keystore.

    • PASSWORD is the password of the keystore.

    • CERT_FILE_NAME is the full path and name of the certificate file.

    • ALIAS is the target system certificate alias.

    The following is a sample value for this command:

    keytool -import -keystore WEBLOGIC_HOME/server/lib/DemoTrust.jks -storepass DemoTrustKeyStorePassPhrase —file /home/target.cert —alias serverwl

    Note:

    • Change the parameter values passed to the keytool command according to your requirements. Ensure that there is no line break in the keytool arguments

    • Ensure that the system date for Oracle Identity Governance is in sync with the validity date of the SSL certificate to avoid any errors during SSL communication.