OIM API To Revoke Accounts From OIU Table

package com.NeedEvaluate;

import Thor.API.Security.XLClientSecurityAssociation;

import com.massiveGaze.connection.Platform;
import com.thortech.xl.client.dataobj.tcDataBaseClient;
import com.thortech.xl.dataaccess.tcDataProvider;
import com.thortech.xl.dataaccess.tcDataSet;
import com.thortech.xl.dataaccess.tcDataSetException;

import oracle.iam.platform.OIMClient;
import oracle.iam.platform.authopss.exception.AccessDeniedException;
import oracle.iam.provisioning.api.ProvisioningService;
import oracle.iam.provisioning.exception.AccountNotFoundException;
import oracle.iam.provisioning.exception.GenericProvisioningException;

import java.util.Hashtable;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.security.auth.login.LoginException;

public class RevokeAccounts {

 public static void main(String[] args) throws AccountNotFoundException, AccessDeniedException, GenericProvisioningException,tcDataSetException {
  OIMClient oimClient = null;
  tcDataProvider dbProvider = null;

  try {

   ProvisioningService provService = Platform.getService(ProvisioningService.class);
   XLClientSecurityAssociation.setClientHandle(oimClient);
   dbProvider = new tcDataBaseClient();
   String query = "SELECT OIU_KEY FROM OIU"; // Query all accounts
   tcDataSet accountsDataSet = new tcDataSet(); // store result set of
               // query
   accountsDataSet.setQuery(dbProvider, query);
   accountsDataSet.executeQuery();
   int numRecords = accountsDataSet.getTotalRowCount();
   for (int i = 0; i < numRecords; i++) {
    accountsDataSet.goToRow(i);
    long accountId = accountsDataSet.getLong("OIU_KEY");
    provService.revoke(accountId); // revoke account
   }
  } finally {
   if (oimClient != null)
    oimClient.logout();
  }
 }
}

No comments:

Post a Comment

About OIM

Oracle Identity Management enables organizations to effectively manage the end - to - end life - cycle of user ide...

Popular Posts