Search in sources :

Example 1 with CircleOfTrustManager

use of com.sun.identity.cot.CircleOfTrustManager in project OpenAM by OpenRock.

the class RemoveCircleOfTrustMembers method handleRequest.

/**
     * Removes member from a circle of trust.
     *
     * @param rc Request Context.
     * @throws CLIException if unable to process this request.
     */
@Override
public void handleRequest(RequestContext rc) throws CLIException {
    super.handleRequest(rc);
    ldapLogin();
    realm = getStringOptionValue(FedCLIConstants.ARGUMENT_REALM, "/");
    cot = getStringOptionValue(FedCLIConstants.ARGUMENT_COT);
    entityID = getStringOptionValue(FedCLIConstants.ARGUMENT_ENTITY_ID);
    spec = FederationManager.getIDFFSubCommandSpecification(rc);
    String[] params = { realm, cot, entityID, spec };
    writeLog(LogWriter.LOG_ACCESS, Level.INFO, "ATTEMPT_REMOVE_COT_MEMBER", params);
    try {
        CircleOfTrustManager cotManager = new CircleOfTrustManager(ssoToken);
        cotManager.removeCircleOfTrustMember(realm, cot, spec, entityID);
        Object[] objs = { cot, entityID, realm };
        getOutputWriter().printlnMessage(MessageFormat.format(getResourceString("remove-circle-of-trust-member-succeeded"), objs));
        writeLog(LogWriter.LOG_ACCESS, Level.INFO, "SUCCEEDED_REMOVE_COT_MEMBER", params);
    } catch (COTException e) {
        debugWarning("RemoveCircleOfTrustMembers.handleRequest", e);
        String[] args = { realm, cot, entityID, spec, e.getMessage() };
        writeLog(LogWriter.LOG_ERROR, Level.INFO, "FAILED_REMOVE_COT_MEMBER", args);
        throw new CLIException(e.getMessage(), ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    }
}
Also used : CircleOfTrustManager(com.sun.identity.cot.CircleOfTrustManager) CLIException(com.sun.identity.cli.CLIException) COTException(com.sun.identity.cot.COTException)

Example 2 with CircleOfTrustManager

use of com.sun.identity.cot.CircleOfTrustManager in project OpenAM by OpenRock.

the class ImportMetaData method handleIDFFRequest.

private void handleIDFFRequest(RequestContext rc) throws CLIException {
    try {
        IDFFMetaManager metaManager = new IDFFMetaManager(ssoToken);
        String entityID = null;
        com.sun.identity.federation.jaxb.entityconfig.EntityConfigElement configElt = null;
        if (extendedData != null) {
            configElt = getIDFFEntityConfigElement();
            /*
                 * see note at the end of this class for how we decide
                 * the realm value
                 */
            if ((configElt != null) && configElt.isHosted()) {
                IDPDescriptorConfigElement idpConfig = IDFFMetaUtils.getIDPDescriptorConfig(configElt);
                if (idpConfig != null) {
                    realm = SAML2MetaUtils.getRealmByMetaAlias(idpConfig.getMetaAlias());
                } else {
                    SPDescriptorConfigElement spConfig = IDFFMetaUtils.getSPDescriptorConfig(configElt);
                    if (spConfig != null) {
                        realm = SAML2MetaUtils.getRealmByMetaAlias(spConfig.getMetaAlias());
                    }
                }
            }
        }
        if (metadata != null) {
            entityID = importIDFFMetaData(realm, metaManager);
        }
        if (configElt != null) {
            String out = (webAccess) ? "web" : extendedData;
            Object[] objs = { out };
            metaManager.createEntityConfig(realm, configElt);
            getOutputWriter().printlnMessage(MessageFormat.format(getResourceString("import-entity-succeeded"), objs));
        }
        if ((cot != null) && (cot.length() > 0) && (entityID != null) && (entityID.length() > 0)) {
            CircleOfTrustManager cotManager = new CircleOfTrustManager(ssoToken);
            if (!cotManager.isInCircleOfTrust(realm, cot, spec, entityID)) {
                cotManager.addCircleOfTrustMember(realm, cot, spec, entityID);
            }
        }
    } catch (IDFFMetaException e) {
        throw new CLIException(e.getMessage(), ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    } catch (COTException e) {
        throw new CLIException(e.getMessage(), ExitCodes.REQUEST_CANNOT_BE_PROCESSED);
    }
}
Also used : CircleOfTrustManager(com.sun.identity.cot.CircleOfTrustManager) IDFFMetaException(com.sun.identity.federation.meta.IDFFMetaException) SPDescriptorConfigElement(com.sun.identity.federation.jaxb.entityconfig.SPDescriptorConfigElement) COTException(com.sun.identity.cot.COTException) IDFFMetaManager(com.sun.identity.federation.meta.IDFFMetaManager) CLIException(com.sun.identity.cli.CLIException) IDPDescriptorConfigElement(com.sun.identity.federation.jaxb.entityconfig.IDPDescriptorConfigElement)

Example 3 with CircleOfTrustManager

use of com.sun.identity.cot.CircleOfTrustManager in project OpenAM by OpenRock.

the class FSAuthDomainsModelImpl method addProviders.

/**
     * Adds providers.
     * @param realm realm of circle of trust
     * @param cotName Name of circle of trust
     * @param names Names provider to be added.
     * @throws AMConsoleException if provider cannot be added.
     */
public void addProviders(String realm, String cotName, Collection names) throws AMConsoleException {
    String cotType = COTConstants.SAML2;
    String entityId = null;
    String providerNames = AMAdminUtils.getString(names, ",", false);
    String[] params = { realm, cotName, providerNames };
    logEvent("ATTEMPT_ADD_PROVIDERS_TO_AUTH_DOMAIN", params);
    try {
        CircleOfTrustManager manager = getCircleOfTrustManager();
        CircleOfTrustDescriptor cotDescriptor = manager.getCircleOfTrust(realm, cotName);
        Set existingEntity = cotDescriptor.getTrustedProviders();
        if (existingEntity != null) {
            Iterator it = existingEntity.iterator();
            while (it.hasNext()) {
                String entityString = (String) it.next();
                String delims = "|";
                StringTokenizer tokens = new StringTokenizer(entityString, delims);
                if (tokens.countTokens() == 2) {
                    entityId = tokens.nextToken();
                    cotType = tokens.nextToken();
                    manager.removeCircleOfTrustMember(realm, cotName, cotType, entityId);
                }
            }
        }
        if (names != null) {
            int sz = names.size();
            for (int i = 0; i < sz; i++) {
                String entityString = (String) ((ArrayList) names).get(i);
                String delims = "|";
                StringTokenizer tokens = new StringTokenizer(entityString, delims);
                if (tokens.countTokens() == 2) {
                    entityId = tokens.nextToken();
                    cotType = tokens.nextToken();
                    manager.addCircleOfTrustMember(realm, cotName, cotType, entityId);
                }
            }
        }
        logEvent("SUCCEED_ADD_PROVIDERS_TO_AUTH_DOMAIN", params);
    } catch (COTException e) {
        String strError = getErrorString(e);
        String[] paramsEx = { realm, cotName, providerNames, strError };
        logEvent("FEDERATION_EXCEPTION_ADD_PROVIDERS_TO_AUTH_DOMAIN", paramsEx);
        throw new AMConsoleException(strError);
    }
}
Also used : StringTokenizer(java.util.StringTokenizer) CircleOfTrustManager(com.sun.identity.cot.CircleOfTrustManager) Set(java.util.Set) HashSet(java.util.HashSet) Iterator(java.util.Iterator) CircleOfTrustDescriptor(com.sun.identity.cot.CircleOfTrustDescriptor) COTException(com.sun.identity.cot.COTException) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Example 4 with CircleOfTrustManager

use of com.sun.identity.cot.CircleOfTrustManager in project OpenAM by OpenRock.

the class FSAuthDomainsModelImpl method getTrustedProviderNames.

/**
     * Returns a set of provider names under a authentication domain.
     *
     * @param name Name of authentication domain.
     * @return a set of provider names under a authentication domain.
     * @throws AMConsoleException if provider names cannot be obtained.
     */
public Set getTrustedProviderNames(String realm, String name) throws AMConsoleException {
    Set providers = null;
    try {
        String[] param = { realm, name };
        logEvent("ATTEMPT_GET_PROVIDER_NAMES_UNDER_AUTH_DOMAIN", param);
        CircleOfTrustManager manager = getCircleOfTrustManager();
        CircleOfTrustDescriptor desc = manager.getCircleOfTrust(realm, name);
        providers = desc.getTrustedProviders();
        logEvent("SUCCEED_GET_PROVIDER_NAMES_UNDER_AUTH_DOMAIN", param);
    } catch (COTException e) {
        String strError = getErrorString(e);
        String[] paramsEx = { realm, name, strError };
        logEvent("FEDERATION_EXCEPTION_GET_PROVIDER_NAMES_UNDER_AUTH_DOMAIN", paramsEx);
        throw new AMConsoleException(strError);
    }
    return (providers != null) ? providers : Collections.EMPTY_SET;
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) CircleOfTrustManager(com.sun.identity.cot.CircleOfTrustManager) CircleOfTrustDescriptor(com.sun.identity.cot.CircleOfTrustDescriptor) COTException(com.sun.identity.cot.COTException) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Example 5 with CircleOfTrustManager

use of com.sun.identity.cot.CircleOfTrustManager in project OpenAM by OpenRock.

the class FSAuthDomainsModelImpl method getAuthenticationDomains.

/**
     * Returns a &lt;code>Set&lt;/code> of all the authentication domains 
     * starting from the root realm.
     *
     * @return a Set of authentication domain names.
     */
public Set getAuthenticationDomains() {
    Set results = null;
    String realm = "";
    try {
        CircleOfTrustManager manager = getCircleOfTrustManager();
        Set realms = getRealmNames("/", "*");
        for (Iterator i = realms.iterator(); i.hasNext(); ) {
            realm = (String) i.next();
            results.addAll(manager.getAllCirclesOfTrust(realm));
        }
    } catch (COTException e) {
        String[] paramsEx = { realm, getErrorString(e) };
        logEvent("FEDERATION_EXCEPTION_GET_AUTH_DOMAINS", paramsEx);
        debug.warning("FSAuthDomainsModelImpl.getAuthenticationDomains", e);
    } catch (AMConsoleException e) {
        debug.warning("FSAuthDomainsModelImpl.getAuthenticationDomains", e);
    }
    return (results != null) ? results : Collections.EMPTY_SET;
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) CircleOfTrustManager(com.sun.identity.cot.CircleOfTrustManager) Iterator(java.util.Iterator) COTException(com.sun.identity.cot.COTException) AMConsoleException(com.sun.identity.console.base.model.AMConsoleException)

Aggregations

CircleOfTrustManager (com.sun.identity.cot.CircleOfTrustManager)35 COTException (com.sun.identity.cot.COTException)29 Set (java.util.Set)18 CircleOfTrustDescriptor (com.sun.identity.cot.CircleOfTrustDescriptor)16 Iterator (java.util.Iterator)15 CLIException (com.sun.identity.cli.CLIException)10 AMConsoleException (com.sun.identity.console.base.model.AMConsoleException)9 HashSet (java.util.HashSet)9 List (java.util.List)9 ArrayList (java.util.ArrayList)6 IDFFMetaException (com.sun.identity.federation.meta.IDFFMetaException)5 IDFFMetaManager (com.sun.identity.federation.meta.IDFFMetaManager)5 SAML2MetaException (com.sun.identity.saml2.meta.SAML2MetaException)5 SAML2MetaManager (com.sun.identity.saml2.meta.SAML2MetaManager)5 HashMap (java.util.HashMap)4 Map (java.util.Map)4 SAML2Exception (com.sun.identity.saml2.common.SAML2Exception)3 CLIRequest (com.sun.identity.cli.CLIRequest)2 IOutput (com.sun.identity.cli.IOutput)2 BaseConfigType (com.sun.identity.federation.jaxb.entityconfig.BaseConfigType)2