Copy the "IDM_HOME/server/client/oimclient.zip" to your computer and unzip. This directory is referred to as OIM_CLIENT_HOME which include the necessary jars and configuration files needed to use the OIM client. Generate the wlfullclient by executing:
java -jar MW_HOME/modules/com.bea.core.jarbuilder_1.7.0.0.jar
Copy wlfullclient.jar into the OIM_CLIENT_HOME/lib directory.
Required Jars for Java Project
- commons-logging (Inside oimclient.zip)
- spring.jar (Inside oimclient.zip)
- oimclient.jar (Inside oimclient.zip)
- wlfullclient.jar (To be generated)
- jrf-api.api (MW_HOME/oracle_common/modules/oracle.jrf_11.1.1/jrf-api.jar)
Code Example
import java.util.HashMap; import java.util.HashSet; import java.util.Hashtable; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.security.auth.login.LoginException; import oracle.iam.identity.exception.UserSearchException; import oracle.iam.identity.usermgmt.api.UserManager; import oracle.iam.identity.usermgmt.vo.User; import oracle.iam.platform.OIMClient; import oracle.iam.platform.authz.exception.AccessDeniedException; import oracle.iam.platform.entitymgr.vo.SearchCriteria; /** * Uses the OIMClient to access services in Oracle * Identity Manager. */ public class OracleIdentityManagerClient { public static final String OIM_HOSTNAME = "localhost"; public static final String OIM_PORT = "14000"; public static final String OIM_PROVIDER_URL = "t3://"+ OIM_HOSTNAME + ":" + OIM_PORT; public static final String OIM_USERNAME = "xelsysadm"; public static final String OIM_PASSWORD = "Password1"; public static final String OIM_CLIENT_HOME = "/home/oracle/Desktop/oimclient"; public static final String AUTHWL_PATH = OIM_CLIENT_HOME + "/conf/authwl.conf"; public static void main(String[] args) { OIMClient oimClient = null; try { //Set system properties required for OIMClient System.setProperty("java.security.auth.login.config", AUTHWL_PATH); System.setProperty("APPSERVER_TYPE", "wls"); // Create an instance of OIMClient with OIM environment information Hashtable env = new Hashtable(); env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL, "weblogic.jndi.WLInitialContextFactory"); env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, OIM_PROVIDER_URL); oimClient = new OIMClient(env); // Login to OIM with the approriate credentials oimClient.login(OIM_USERNAME, OIM_PASSWORD.toCharArray()); // Lookup a service UserManager usermgr = oimClient.getService(UserManager.class); // Call a method from a service List<User> users = usermgr.search(new SearchCriteria("User Login", "*", SearchCriteria.Operator.EQUAL), new HashSet(), new HashMap()); System.out.println(users); } catch (LoginException ex) { Logger.getLogger(OracleIdentityManagerClient.class.getName()).log(Level.SEVERE, null, ex); } catch (AccessDeniedException ex) { Logger.getLogger(OracleIdentityManagerClient.class.getName()).log(Level.SEVERE, null, ex); } catch (UserSearchException ex) { Logger.getLogger(OracleIdentityManagerClient.class.getName()).log(Level.SEVERE, null, ex); } finally { // Logout user from OIMClient if(oimClient != null) oimClient.logout(); } } }
No comments:
Post a Comment