Version: Oracle Identity Manager 11g R2
Description: This post demonstrates how to develop a custom scheduled task. Provided here is a sample custom scheduled task that creates a new OIM user with user data being provided through the scheduled task parameters.
Showing posts with label Oracle Identity Manager 11g R1 Development. Show all posts
Showing posts with label Oracle Identity Manager 11g R1 Development. Show all posts
Tuesday, November 26, 2013
Sunday, November 17, 2013
Close Reconciliation Events Through OIM API
Version: Oracle Idenity Manager 11g R1
Description: Reconciliation events are created when you run target user reconciliation. On a target system with a large number of accounts, it is likely to have events that are ophran accounts, which are users who does not exist in OIM but exists on the target system, and events that are in pending state. When you view these reconcilation events through the OIM console, you have the choice to manually link to an OIM user or close the event. Given here is code to close all the reconciliation events that were not linked.
Description: Reconciliation events are created when you run target user reconciliation. On a target system with a large number of accounts, it is likely to have events that are ophran accounts, which are users who does not exist in OIM but exists on the target system, and events that are in pending state. When you view these reconcilation events through the OIM console, you have the choice to manually link to an OIM user or close the event. Given here is code to close all the reconciliation events that were not linked.
Tuesday, July 9, 2013
Implementing Target Delete Reconciliation
Version: Oracle Identity Manager 11.1.1.5.0
Description: This article demonstrates how to implement a target delete reconciliation using the OIM APIs. The methods from oracle.iam.reconciliation.api.ReconOperationsService are used . The code given here can be further developed to become a schedule task. The Database Application Table Connector is used here. Follow the guide given here to setup the connector in OIM.
Steps for Implementation:
1. Get all the users from your target system along with their attributes, mainly the ones for OIM account rule matching. Users data must be put into an array of hashmaps with each hashmap containing a single user's data. (Key= attributeNameInTarget, Value=attributeValueInTarget)
2. Get the ReconOperationsService service. Call methods from ReconOperationsService.
3. provideDeletionDetectionData(java.lang.String objectName, java.util.Map[] paoAccountDataList)
4. getMissingAccounts(java.lang.String objectName, java.util.Set accountsFound)
5. deleteDetectedAccounts(Thor.API.tcResultSet poDetectedAccounts)
6. processReconciliationEvent(long rceKey)
Description: This article demonstrates how to implement a target delete reconciliation using the OIM APIs. The methods from oracle.iam.reconciliation.api.ReconOperationsService are used . The code given here can be further developed to become a schedule task. The Database Application Table Connector is used here. Follow the guide given here to setup the connector in OIM.
Steps for Implementation:
1. Get all the users from your target system along with their attributes, mainly the ones for OIM account rule matching. Users data must be put into an array of hashmaps with each hashmap containing a single user's data. (Key= attributeNameInTarget, Value=attributeValueInTarget)
2. Get the ReconOperationsService service. Call methods from ReconOperationsService.
3. provideDeletionDetectionData(java.lang.String objectName, java.util.Map[] paoAccountDataList)
4. getMissingAccounts(java.lang.String objectName, java.util.Set accountsFound)
5. deleteDetectedAccounts(Thor.API.tcResultSet poDetectedAccounts)
6. processReconciliationEvent(long rceKey)
Tuesday, July 2, 2013
Adding OIM User Defined Attribute through the OIM API
Version: Oracle Identity Manager 11g R1
Description: This post contains java code to add OIM User Profile attribute using the OIM API. The ConfigManager class contains the method to add User Defined (UDF) attribute. The code below is only for demonstration purposes for adding a string attribute. Dealing with other attribute types may require setting additional properties. Also, the value of an attribute property may be dependent on other property values. WARNING: Use at your own risk. This OIM API does some data validation. Creating an invalid attribute can cause a lot of problems (E.g. An error message dialog will prevent you from viewing any OIM user's profile). If you happen to create a bad attribute, most of the time deleting the attribute will fix the problem.
Description: This post contains java code to add OIM User Profile attribute using the OIM API. The ConfigManager class contains the method to add User Defined (UDF) attribute. The code below is only for demonstration purposes for adding a string attribute. Dealing with other attribute types may require setting additional properties. Also, the value of an attribute property may be dependent on other property values. WARNING: Use at your own risk. This OIM API does some data validation. Creating an invalid attribute can cause a lot of problems (E.g. An error message dialog will prevent you from viewing any OIM user's profile). If you happen to create a bad attribute, most of the time deleting the attribute will fix the problem.
Tuesday, June 4, 2013
Post-Process EventHandler Example: DecryptedPasswordInProfile
Version: Oracle Identity Manager 11g R1
Description: An example of a custom post-process event handler. This plugin is only for demonstration purposes. The orchestration object parameter in the execute method contains useful information you may need to utilize. Here are several orchestration methods to make note of for post-process:
getParameters() : This method only gets the new changes made.
getOperation(): Gets the operation that is being performed. Some operations are given below:
You can find the final plugin package and the source code here.
Summary for Deploying the Plugin
1. Create jar file, plugin.xml, and metadata xml.
2. Create a zip with the following structure:
3. Modify the ant.properties file located in "[IDM_HOME]/server/plugin_utility".
Then register your plugin by executing "ant -f pluginregistration.xml register".
4. Modify the weblogic.properties located in "[IDM_HOME]/server/bin".
Then push the metadata into MDS by using the weblogicImportMetadata.sh utiltiy.
5. Purge the cache. The utility is in "[IDM_HOME]/server/bin".
./PurgeCache.sh ALL
Description: An example of a custom post-process event handler. This plugin is only for demonstration purposes. The orchestration object parameter in the execute method contains useful information you may need to utilize. Here are several orchestration methods to make note of for post-process:
getParameters() : This method only gets the new changes made.
getOperation(): Gets the operation that is being performed. Some operations are given below:
- CREATE = whenever a new user is being created
- CHANGE_PASSWORD = whenever the user 's password is changed
- MODIFY = whenever any changes are being made to a user's OIM Profile
You can find the final plugin package and the source code here.
Summary for Deploying the Plugin
1. Create jar file, plugin.xml, and metadata xml.
2. Create a zip with the following structure:
[NameOfPlugin].zip
|____plugin.xml
|____lib/
|_____[yourJarFile].jar
3. Modify the ant.properties file located in "[IDM_HOME]/server/plugin_utility".
Then register your plugin by executing "ant -f pluginregistration.xml register".
4. Modify the weblogic.properties located in "[IDM_HOME]/server/bin".
Then push the metadata into MDS by using the weblogicImportMetadata.sh utiltiy.
5. Purge the cache. The utility is in "[IDM_HOME]/server/bin".
./PurgeCache.sh ALL
Sunday, May 19, 2013
OIM 11g R1: Getting OIM User Decrypted Password
Version: Oracle Identity Manager 11g R1
Description: If you look at the OIM.USR table, you'll notice that the password column is encrypted. There are several ways to get the password decrypted. I'll be showing you how to get the decrypted password by querying from the OIM database using the tcDataBaseClient. This requires you to set the client handle with the OIMClient object. The user who is logged in for the OIMClient needs to be an End-User Administrator in order to use the tcDatabaseClient. The “Design Console Access” attribute on the OIM User Profile determines whether a user is an End-User or an End-User Administrator. Below is a java application to get all the OIM users' passwords in plain text. Note: You can also query the OIM.PCQ table to get users' challenge questions and answers.
Description: If you look at the OIM.USR table, you'll notice that the password column is encrypted. There are several ways to get the password decrypted. I'll be showing you how to get the decrypted password by querying from the OIM database using the tcDataBaseClient. This requires you to set the client handle with the OIMClient object. The user who is logged in for the OIMClient needs to be an End-User Administrator in order to use the tcDatabaseClient. The “Design Console Access” attribute on the OIM User Profile determines whether a user is an End-User or an End-User Administrator. Below is a java application to get all the OIM users' passwords in plain text. Note: You can also query the OIM.PCQ table to get users' challenge questions and answers.
Tuesday, March 5, 2013
Connecting to a WebLogic Data source from Java
Version: WebLogic 10.3.5
Description: You can use Java to connect to any data source defined in WebLogic. An advantage to this is you do not need the database user credential hard-coded in your Java application. All you need to supply in order to establish a connection in your application are the name of the data source and the provider URL.
Requirements: Remote JDBC must be enabled if you are executing the code remotely. The instructions to enable remote JDBC are commented in the code. The data source you are using must be defined in WebLogic. Click here to learn how create a data source in WebLogic Administration Console.
Description: You can use Java to connect to any data source defined in WebLogic. An advantage to this is you do not need the database user credential hard-coded in your Java application. All you need to supply in order to establish a connection in your application are the name of the data source and the provider URL.
Requirements: Remote JDBC must be enabled if you are executing the code remotely. The instructions to enable remote JDBC are commented in the code. The data source you are using must be defined in WebLogic. Click here to learn how create a data source in WebLogic Administration Console.
Sunday, February 17, 2013
Connecting to OIM Schema Through the OIMClient In Java
Version: Oracle Identity Manager 11g R1
Description: A Java application to demonstrate how to connect to your OIM Schema provided that you have an OIMClient. The user who is logged in for the OIMClient needs to be an End-User Administrator in order to use the tcDatabaseClient. The “Design Console Access” attribute on the OIM User Profile determines whether a user is an End-User or an End-User Administrator. Accessing the OIM Schema through this method does not need the database user credential.
Description: A Java application to demonstrate how to connect to your OIM Schema provided that you have an OIMClient. The user who is logged in for the OIMClient needs to be an End-User Administrator in order to use the tcDatabaseClient. The “Design Console Access” attribute on the OIM User Profile determines whether a user is an End-User or an End-User Administrator. Accessing the OIM Schema through this method does not need the database user credential.
Friday, February 1, 2013
OIM 11g Deploying a Custom Event Handler
Version: Oracle Identity Manager 11g R1
Description: This guide demonstrates the process of setting up and deploying a custom event handler. It also shows you how to remove an event handler. Custom event handlers can be developed to extend the functionality of OIM User Management Operations.
Description: This guide demonstrates the process of setting up and deploying a custom event handler. It also shows you how to remove an event handler. Custom event handlers can be developed to extend the functionality of OIM User Management Operations.
Sunday, January 20, 2013
Using the OIM 11g R1 API
Version: Oracle Identity Manager 11g R1
Description: This guide shows how to set up and use the Oracle Identity Manager 11g R1 API in a Java application.
Description: This guide shows how to set up and use the Oracle Identity Manager 11g R1 API in a Java application.
Subscribe to:
Posts (Atom)