Как аутентифицировать пользователя через OIM API?
Мне нужно сделать аутентификацию пользователя OIM из стороннего приложения. Я ищу OIM API для того же.
2 ответа
Решение
В OIM аутентификация выгружается на сервер приложений (т. Е. WebLogic), поэтому вам нужно будет добавить провайдера аутентификации, который знает, как подключиться к приложению, которое OIM будет использовать для аутентификации.
https://blogs.oracle.com/ArdaEralp/entry/configure_oim_ad_ldap_authentication https://docs.oracle.com/cd/E28280_01/web.1111/e13718/atn.htm
Приведенные выше ссылки предоставят представление о том, как настроить нового поставщика проверки подлинности для OIM и что на самом деле означает поставщик проверки подлинности и его внутренние компоненты.
public static final String OIM_HOSTNAME = "oim.hpt.lab";
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 = "tungpt";
public static final String OIM_PASSWORD = "Hpt123456";
public static final String OIM_CLIENT_HOME = "F:/designconsole11gr3/config";
public static final String AUTHWL_PATH = OIM_CLIENT_HOME + "/authwl.conf";
public static void main(String[] args) {
// TODO Auto-generated method stub
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
System.out.println("Login by: "+ OIM_USERNAME);
oimClient.login(OIM_USERNAME, OIM_PASSWORD.toCharArray());
System.out.println("Login Done!");
}catch(Exception e){
e.printStackTrace();
}
}