Skip to main content

Fetching User Attributes and Creating User - OIM API

package com.oim.utilities;

import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;
import Thor.API.tcUtilityFactory;
import oracle.iam.identity.exception.NoSuchUserException;
import oracle.iam.identity.exception.SearchKeyNotUniqueException;
import oracle.iam.identity.exception.UserLookupException;
import oracle.iam.identity.usermgmt.api.UserManager;
import oracle.iam.identity.usermgmt.vo.User;
import oracle.iam.platform.OIMClient;

public class ClientOIM
{
private static OIMClient oimClient = null;
    private static tcUtilityFactory util = null;
    static UserManager userManager = null;
    private static String hostName = "oim.server.com";
    private static String port = "14000";
    private static String userName = "xelsysadm";
    private static String password = "Welcome123";
    private static String serverURL = "t3://" + hostName + ":" + port;
    private static String authConfigLoc = "C:\\Users\\Desktop\\designconsole\\config\\authwl.conf";
    private static String ctxFactory = "weblogic.jndi.WLInitialContextFactory";

// Method to get the connection of OIM
@SuppressWarnings("deprecation")
private static void initialise() 
{
   try 
   {
   
System.out.println("ClientOIM :: initialise :: Host to connect :: "+hostName);
       Hashtable<String, String> env = new Hashtable<String, String>();
       //setting system properties
       env.put("java.naming.provider.url", serverURL);
       env.put("java.naming.factory.initial", ctxFactory);
       System.setProperty("APPSERVER_TYPE", "wls");
       System.setProperty("java.security.auth.login.config", authConfigLoc);
       System.setProperty("weblogic.Name", "oim_server1");
       
       oimClient = new OIMClient(env);
       oimClient.login(userName, password);
       util = new tcUtilityFactory(env, userName, password);
       System.out.println("ClientOIM :: initialise :: util :: "+util);
   } 
   catch (Exception e) 
   {
       System.err.println("ClientOIM :: initialise :: Issue with the client login please check configurations");
       e.printStackTrace();
       System.exit(1);
   }
}

public static String getUserKey(final String userLogin)
{
 
System.out.println("ClientOIM :: getUserKey ::method Started.");

String userKey = null;
try 
{
if (userLogin == null)  
{
System.out.println("ClientOIM ::  getUserKey :: UserLogin is either null or empty");
}
else
{
final Set<String> returnMap = new HashSet<String>();

/* Initialize the User Manager Service */
userManager = oimClient.getService(UserManager.class);
System.out.println("ClientOIM ::  getUserKey :: userManager :: "+userManager);

/* Check whether User Manager Service properly initialized */
if(userManager != null)
{
/* Get User object belonging to the User Key */
final User user = userManager.getDetails("User Login", userLogin, returnMap);
System.out.println("ClientOIM ::  getUserKey :: user :: "+user);
/* If User object is not null then retrieve User Login */
if(user != null)
{
userKey = user.getEntityId();
System.out.println("ClientOIM ::  getUserKey :: userKey :: "+userKey);
}
}
}
 
} 
catch (NoSuchUserException e) 
{
System.out.println("ClientOIM ::  getUserKey :: NoSuchUserException :: " + e.getMessage());
}
catch (UserLookupException e)
{
System.out.println("ClientOIM ::  getUserKey :: UserLookupException :: " + e.getMessage());
}
catch (SearchKeyNotUniqueException e) 
{
System.out.println("ClientOIM ::  getUserKey :: SearchKeyNotUniqueException :: " + e.getMessage());
} 
catch (Exception e) 
{
System.out.println("ClientOIM ::  getUserKey :: Exception :: " + e.getMessage());
}
System.out.println("ClientOIM :: getUserKey :: method ended.");
return userKey;
}
public static void createUser()

{
try 
{
initialise();
userManager = oimClient.getService(UserManager.class);
System.out.println("ClientOIM ::  createUser :: userManager :: "+userManager);
User newUser = new User(null);
if(userManager != null)
{
newUser.setAttribute("First Name", "TestUser");
newUser.setAttribute("Last Name", "TestUser");
newUser.setAttribute("Email", "TestUser@mail.com");
newUser.setAttribute("act_key",1L); 
newUser.setAttribute("Role","Full-Time");
newUser.setAttribute("Xellerate Type","End-User");
            userManager.create(newUser);
            System.out.println("ClientOIM ::  createUser :: userManager :: User Created");
}
}
catch (Exception e) 
{
System.out.println("ClientOIM ::  createUser :: Exception :: " + e.getMessage());
}


}
public static void main(String[] args)
{

//initialise();
//String userLogin = "TEST";
//getUserKey(userLogin);
createUser();

}
}



Comments

Popular posts from this blog

Adding UDF (User Defined Field) on create user page OIM 11g R2 PS1:-

    Login to Sysadmin console and create a Sandbox and activate it. Click on Form Designer and search for user form. 2.      Create a new field of desired type. 3.      Provide the Required Values for UDF creation and click save and close. UDF field will be added then publish the sand box. 4.      Login to Identity console now and create another sandbox and activate it. After sandbox is activated click on users link and the click on create user. 5.      Provide the mandatory values on the form and then click the customize button on top. Select source from the view. 6.      Select the panel where the field has to be added. Select panel form lay out click add content. Select Data component Catalog from the box. 7.      Select UserVO from the bottom. ...

Oracle Identity Cloud Service (IDCS)

   Oracle Identity Cloud Service i s the next generation comprehensive security and identity platform that is cloud-native and designed to be an integral part of the enterprise security fabric, providing modern identity for modern applications.  IDCS is a cloud-based identity management system that works by associating specific rights and restrictions with each user’s established identity. User provisioning, access control, and directory services are critical components of Oracle’s cloud-based security portfolio. Oracle Identity Cloud Service has been designed to meet the needs of organizations in a number of typical use-case scenarios, such as the cloud (allowing both on-premise and cloud resources to be secured from a single set of controls), mobile access (providing sign on for native or browser-based apps), employee-facing intranet and customer-facing extranet solutions.  Key Features: Oracle Identity Cloud Service provides the following functionali...

What is CASB - Oracle CASB Cloud Service

What is CASB: Cloud Access Security Brokers is a term coined by Gartner to describe cloud solutions centered around these four main pillars: visibility, compliance, data security, and threat protection. As per Gartner  Cloud access security brokers (CASBs)  are on-premises, or cloud-based security policy enforcement points, placed between cloud service consumers and cloud service providers to combine and interject enterprise security policies as the cloud-based resources are accessed. CASBs consolidate multiple types of security policy enforcement. Example security policies include authentication, single sign-on, authorization, credential mapping, device profiling, encryption, tokenization, logging, alerting, malware detection/prevention and so on.   To Summarize CASB is a service which is used to secure and monitor Cloud and On-Prem applications and to respond with remediation in case of Threats or suspicious events are detected. Key is the analysis of events ge...