Search in sources :

Example 1 with AMAuthenticationSchema

use of com.sun.identity.authentication.config.AMAuthenticationSchema in project OpenAM by OpenRock.

the class AuthPropertiesModelImpl method hasAuthAttributes.

/**
     * Returns true if there are attributes for a authentication type.
     *
     * @param type Authtentication type.
     * @return true if there are attributes for a authentication type.
     */
public boolean hasAuthAttributes(String type) {
    boolean has = false;
    try {
        AMAuthenticationManager mgr = new AMAuthenticationManager(getUserSSOToken(), currentRealm);
        AMAuthenticationSchema schema = mgr.getAuthenticationSchema(type);
        has = !schema.getAttributeSchemas().isEmpty();
    } catch (AMConfigurationException e) {
        debug.warning("AuthPropertiesModelImpl.hasAuthAttributes", e);
    }
    return has;
}
Also used : AMAuthenticationSchema(com.sun.identity.authentication.config.AMAuthenticationSchema) AMConfigurationException(com.sun.identity.authentication.config.AMConfigurationException) AMAuthenticationManager(com.sun.identity.authentication.config.AMAuthenticationManager)

Example 2 with AMAuthenticationSchema

use of com.sun.identity.authentication.config.AMAuthenticationSchema in project OpenAM by OpenRock.

the class AuthPropertiesModelImpl method getServiceName.

/**
     * To get the service name from the instance name:
     *   1) get a handle to the AMAuthenicationInstance object
     *   2) from the AuthInstance object get the type of instance
     *   3) Use the instance type to get the schema for that type
     *   4) from the schema get the service name
     */
public String getServiceName(String instance) {
    String name = null;
    try {
        AMAuthenticationManager mgr = new AMAuthenticationManager(getUserSSOToken(), currentRealm);
        AMAuthenticationInstance inst = mgr.getAuthenticationInstance(instance);
        if (inst != null) {
            AMAuthenticationSchema schema = mgr.getAuthenticationSchema(inst.getType());
            name = schema.getServiceName();
        } else {
            if (debug.warningEnabled()) {
                debug.warning("AuthPropertiesModel.getServiceName, " + " the requested instance " + instance + " does not exist.");
            }
        }
    } catch (AMConfigurationException ace) {
        if (debug.warningEnabled()) {
            debug.warning("problem getting service name for " + instance, ace);
        }
    }
    return name;
}
Also used : AMAuthenticationSchema(com.sun.identity.authentication.config.AMAuthenticationSchema) AMConfigurationException(com.sun.identity.authentication.config.AMConfigurationException) AMAuthenticationInstance(com.sun.identity.authentication.config.AMAuthenticationInstance) AMAuthenticationManager(com.sun.identity.authentication.config.AMAuthenticationManager)

Example 3 with AMAuthenticationSchema

use of com.sun.identity.authentication.config.AMAuthenticationSchema in project OpenAM by OpenRock.

the class GetAuthInstance method handleRequest.

/**
     * Handles request.
     *
     * @param rc Request Context.
     * @throws CLIException if request cannot be processed.
     */
public void handleRequest(RequestContext rc) throws CLIException {
    super.handleRequest(rc);
    ldapLogin();
    SSOToken adminSSOToken = getAdminSSOToken();
    String realm = getStringOptionValue(IArgument.REALM_NAME);
    String instanceName = getStringOptionValue(AuthOptions.AUTH_INSTANCE_NAME);
    String[] params = { realm, instanceName };
    writeLog(LogWriter.LOG_ACCESS, Level.INFO, "ATTEMPT_GET_AUTH_INSTANCE", params);
    try {
        AMAuthenticationManager mgr = new AMAuthenticationManager(adminSSOToken, realm);
        AMAuthenticationInstance ai = mgr.getAuthenticationInstance(instanceName);
        if (ai != null) {
            IOutput outputWriter = getOutputWriter();
            Map attributeValues = ai.getAttributeValues();
            if ((attributeValues != null) && !attributeValues.isEmpty()) {
                AMAuthenticationSchema schema = mgr.getAuthenticationSchema(ai.getType());
                String serviceName = schema.getServiceName();
                outputWriter.printlnMessage(getResourceString("authentication-get-auth-instance-succeeded"));
                outputWriter.printlnMessage(FormatUtils.printAttributeValues(getResourceString("authentication-get-auth-instance-result"), attributeValues, CLIUtil.getPasswordFields(serviceName)));
            } else {
                outputWriter.printlnMessage(getResourceString("authentication-get-auth-instance-no-values"));
            }
            writeLog(LogWriter.LOG_ACCESS, Level.INFO, "SUCCEEDED_GET_AUTH_INSTANCE", params);
        } else {
            writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_GET_AUTH_INSTANCE", params);
            throw new CLIException(getResourceString("authentication-get-auth-instance-not-found"), ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
        }
    } catch (SSOException e) {
        debugError("GetAuthInstance.handleRequest", e);
        writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_GET_AUTH_INSTANCE", params);
        throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    } catch (SMSException e) {
        debugError("GetAuthInstance.handleRequest", e);
        writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_GET_AUTH_INSTANCE", params);
        throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    } catch (AMConfigurationException e) {
        debugError("GetAuthInstance.handleRequest", e);
        writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_GET_AUTH_INSTANCE", params);
        throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    }
}
Also used : SSOToken(com.iplanet.sso.SSOToken) SMSException(com.sun.identity.sm.SMSException) IOutput(com.sun.identity.cli.IOutput) AMAuthenticationSchema(com.sun.identity.authentication.config.AMAuthenticationSchema) CLIException(com.sun.identity.cli.CLIException) AMConfigurationException(com.sun.identity.authentication.config.AMConfigurationException) AMAuthenticationInstance(com.sun.identity.authentication.config.AMAuthenticationInstance) SSOException(com.iplanet.sso.SSOException) Map(java.util.Map) AMAuthenticationManager(com.sun.identity.authentication.config.AMAuthenticationManager)

Example 4 with AMAuthenticationSchema

use of com.sun.identity.authentication.config.AMAuthenticationSchema in project OpenAM by OpenRock.

the class CreateAuthInstance method handleRequest.

/**
     * Handles request.
     *
     * @param rc Request Context.
     * @throws CLIException if request cannot be processed.
     */
public void handleRequest(RequestContext rc) throws CLIException {
    super.handleRequest(rc);
    ldapLogin();
    SSOToken adminSSOToken = getAdminSSOToken();
    String realm = getStringOptionValue(IArgument.REALM_NAME);
    String name = getStringOptionValue(AuthOptions.AUTH_INSTANCE_NAME);
    String type = getStringOptionValue(AuthOptions.AUTH_INSTANCE_TYPE);
    String[] params = { realm, name, type };
    writeLog(LogWriter.LOG_ACCESS, Level.INFO, "ATTEMPT_CREATE_AUTH_INSTANCE", params);
    try {
        AMAuthenticationManager mgr = new AMAuthenticationManager(adminSSOToken, realm);
        AMAuthenticationSchema as = mgr.getAuthenticationSchema(type);
        mgr.createAuthenticationInstance(name, type, as.getAttributeValues());
        getOutputWriter().printlnMessage(getResourceString("authentication-created-auth-instance-succeeded"));
        writeLog(LogWriter.LOG_ACCESS, Level.INFO, "SUCCEEDED_CREATE_AUTH_INSTANCE", params);
    } catch (AMConfigurationException e) {
        debugError("CreateAuthInstance.handleRequest", e);
        writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_CREATE_AUTH_INSTANCE", params);
        throw new CLIException(e, ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    }
}
Also used : SSOToken(com.iplanet.sso.SSOToken) AMAuthenticationSchema(com.sun.identity.authentication.config.AMAuthenticationSchema) AMConfigurationException(com.sun.identity.authentication.config.AMConfigurationException) CLIException(com.sun.identity.cli.CLIException) AMAuthenticationManager(com.sun.identity.authentication.config.AMAuthenticationManager)

Example 5 with AMAuthenticationSchema

use of com.sun.identity.authentication.config.AMAuthenticationSchema in project OpenAM by OpenRock.

the class AuthenticationModuleCollectionHandler method getSchemaManager.

private ServiceSchemaManager getSchemaManager(String authType) throws SSOException, SMSException, AMConfigurationException {
    AMAuthenticationManager authenticationManager = new AMAuthenticationManager(adminToken, "/");
    AMAuthenticationSchema schema = authenticationManager.getAuthenticationSchema(authType);
    return new ServiceSchemaManager(schema.getServiceName(), adminToken);
}
Also used : AMAuthenticationSchema(com.sun.identity.authentication.config.AMAuthenticationSchema) ServiceSchemaManager(com.sun.identity.sm.ServiceSchemaManager) AMAuthenticationManager(com.sun.identity.authentication.config.AMAuthenticationManager)

Aggregations

AMAuthenticationManager (com.sun.identity.authentication.config.AMAuthenticationManager)7 AMAuthenticationSchema (com.sun.identity.authentication.config.AMAuthenticationSchema)7 AMConfigurationException (com.sun.identity.authentication.config.AMConfigurationException)6 SSOToken (com.iplanet.sso.SSOToken)2 AMAuthenticationInstance (com.sun.identity.authentication.config.AMAuthenticationInstance)2 CLIException (com.sun.identity.cli.CLIException)2 Map (java.util.Map)2 SSOException (com.iplanet.sso.SSOException)1 IOutput (com.sun.identity.cli.IOutput)1 AMConsoleException (com.sun.identity.console.base.model.AMConsoleException)1 SMSException (com.sun.identity.sm.SMSException)1 ServiceSchemaManager (com.sun.identity.sm.ServiceSchemaManager)1 HashMap (java.util.HashMap)1 Iterator (java.util.Iterator)1 Set (java.util.Set)1