Total Pageviews

Thursday, 10 September 2015

Aprovisioing account using API

package sudhiridm

import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Set;

import oracle.iam.identity.usermgmt.api.UserManager;
import oracle.iam.identity.usermgmt.vo.User;
import oracle.iam.platform.OIMClient;
import oracle.iam.platform.entitymgr.vo.SearchCriteria;
import oracle.iam.provisioning.api.ApplicationInstanceService;
import oracle.iam.provisioning.api.ProvisioningService;
import oracle.iam.provisioning.vo.Account;
import oracle.iam.provisioning.vo.AccountData;
import oracle.iam.provisioning.vo.ApplicationInstance;


public class AccountProvisioning {
   
    public static void main(String[] args) throws Exception {
       
        System.setProperty("java.security.auth.login.config", "F:\\designconsole\\config\\authwl.conf");
                   System.setProperty("java.security.policy", "F:\\designconsole\\config\\xl.policy");
                   System.setProperty("APPSERVER_TYPE", "wls");
                 

    Hashtable env = new Hashtable();
    env.put("java.naming.provider.url", "t3://180.00.101.00:14000/");
    env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");

    OIMClient oimClient = new OIMClient(env);
    oimClient.login("xelsysadm", "ancd123");
    System.out.println("Connection to oim successfully established");


    ApplicationInstanceService aiSvc = oimClient.getService(ApplicationInstanceService.class);
    ProvisioningService provSvc = oimClient.getService(ProvisioningService.class);
    UserManager usrMgr = oimClient.getService(UserManager.class);
   
    String appInstanceName = "FirstProvAppInst";
   
    // Find the user
    SearchCriteria criteria = new SearchCriteria("User Login",
            "KAGRWAL", SearchCriteria.Operator.EQUAL);
      
    Set retSet = new HashSet();
    retSet.add("usr_key");
    retSet.add("User Login");
    retSet.add("First Name");
    retSet.add("Last Name");

    List<User> users = usrMgr.search(criteria, retSet, null);
    System.out.println(users);
    for (User u : users) {
            ApplicationInstance ai = aiSvc.findApplicationInstanceByName(appInstanceName);

            HashMap<String, Object> parentData = new HashMap<String, Object>();
  
                parentData.put("UD_OID_USR_LAST_NAME","Agrwal");
               
                parentData.put("UD_OID_USR_ORG_DN","53~ou=People,dc=ojas,dc=com");
        System.out.println(parentData);
            AccountData accountData = new AccountData(ai.getAccountForm().getFormKey() + "", "", parentData);
            Account account = new Account(ai, accountData);
           
            System.out.println("Provisioning app instance " + appInstanceName + " to user " + u.getEntityId());
            provSvc.provision(u.getEntityId(), account);
    }

    oimClient.logout();
    System.exit(0);
           
    }
}

No comments:

Post a Comment