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