use of com.sun.identity.federation.meta.IDFFMetaManager in project OpenAM by OpenRock.
the class IDFFModelImpl method getAllEntityDescriptorNames.
/**
* Returns a <code>Set</code> of entity descriptor names.
*
* @param realm the realm in which the entity resides.
* @return the IDFF entity descriptor
* @throws AMConsoleException
*/
public Set getAllEntityDescriptorNames(String realm) throws AMConsoleException {
Set entitySet = null;
try {
IDFFMetaManager idffManager = getIDFFMetaManager();
entitySet = idffManager.getAllEntities(realm);
} catch (IDFFMetaException e) {
throw new AMConsoleException(e.getMessage());
}
return (entitySet != null) ? entitySet : Collections.EMPTY_SET;
}
use of com.sun.identity.federation.meta.IDFFMetaManager in project OpenAM by OpenRock.
the class IDFFModelImpl method getSPAuthenticationContexts.
/**
* Returns the object of Auththentication Contexts in SP.
*
* @param realm Realm of Entity
* @param entityName Name of Entity Descriptor.
* @return attributes values of provider.
*/
public IDFFAuthContexts getSPAuthenticationContexts(String realm, String entityName) throws AMConsoleException {
IDFFAuthContexts cxt = new IDFFAuthContexts();
String str = null;
try {
List tmpList = new ArrayList();
IDFFMetaManager manager = getIDFFMetaManager();
Map map = new HashMap();
BaseConfigType spConfig = manager.getSPDescriptorConfig(realm, entityName);
if (spConfig != null) {
map = IDFFMetaUtils.getAttributes(spConfig);
} else {
throw new AMConsoleException("invalid.entity.name");
}
List list = (List) map.get(ATTR_SP_AUTHN_CONTEXT_MAPPING);
for (int i = 0; i < list.size(); i++) {
String tmp = (String) list.get(i);
int index = tmp.lastIndexOf("|");
String level = removeKey(tmp.substring(index + 1));
String name = removeKey(tmp.substring(0, index));
cxt.put(name, "true", level);
}
} catch (IDFFMetaException e) {
throw new AMConsoleException(getErrorString(e));
} catch (AMConsoleException e) {
throw new AMConsoleException(getErrorString(e));
}
return (cxt != null) ? cxt : new IDFFAuthContexts();
}
use of com.sun.identity.federation.meta.IDFFMetaManager in project OpenAM by OpenRock.
the class IDFFModelImpl method updateIDPAuthenticationContexts.
/**
* update IDP Authentication Contexts
*
* @param realm Realm of Entity
* @param entityName Name of Entity Descriptor.
* @param cxt IDFFAuthContexts object contains IDP
* Authentication Contexts values
*/
public void updateIDPAuthenticationContexts(String realm, String entityName, IDFFAuthContexts cxt) throws AMConsoleException {
List list = cxt.toIDPAuthContextInfo();
String[] params = { realm, entityName, "IDFF", "IDP-updateIDPAuthenticationContexts" };
logEvent("ATTEMPT_MODIFY_ENTITY_DESCRIPTOR", params);
try {
IDFFMetaManager idffMetaMgr = getIDFFMetaManager();
EntityConfigElement entityConfig = idffMetaMgr.getEntityConfig(realm, entityName);
if (entityConfig == null) {
throw new AMConsoleException("invalid.entity.name");
}
IDPDescriptorConfigElement idpDecConfigElement = idffMetaMgr.getIDPDescriptorConfig(realm, entityName);
if (idpDecConfigElement == null) {
throw new AMConsoleException("invalid.config.element");
} else {
updateAttrInConfig(idpDecConfigElement, ATTR_IDP_AUTHN_CONTEXT_MAPPING, list);
}
//saves the attributes by passing the new entityConfig object
idffMetaMgr.setEntityConfig(realm, entityConfig);
logEvent("SUCCEED_MODIFY_ENTITY_DESCRIPTOR", params);
} catch (IDFFMetaException e) {
String strError = getErrorString(e);
String[] paramsEx = { realm, entityName, "IDFF", "IDP-updateIDPAuthenticationContexts", strError };
logEvent("FEDERATION_EXCEPTION_MODIFY_ENTITY_DESCRIPTOR", paramsEx);
throw new AMConsoleException(strError);
}
return;
}
use of com.sun.identity.federation.meta.IDFFMetaManager in project OpenAM by OpenRock.
the class IDFFModelImpl method getAffiliateProfileAttributeValues.
/**
* Returns affiliate profile attribute values.
*
* @param realm the realm in which the entity resides.
* @param entityName name of Entity Descriptor.
* @return affiliate profile attribute values.
* @throws AMConsoleException if attribute values cannot be obtained.
*/
public Map getAffiliateProfileAttributeValues(String realm, String entityName) throws AMConsoleException {
String[] params = { realm, entityName, "IDFF", "IDP" };
logEvent("ATTEMPT_GET_AFFILIATE_ENTITY_DESCRIPTOR_ATTR_VALUES", params);
Map values = new HashMap();
try {
IDFFMetaManager idffManager = getIDFFMetaManager();
AffiliationDescriptorType aDesc = (AffiliationDescriptorType) idffManager.getAffiliationDescriptor(realm, entityName);
if (aDesc != null) {
values.put(ATTR_AFFILIATE_ID, returnEmptySetIfValueIsNull(aDesc.getAffiliationID()));
values.put(ATTR_AFFILIATE_OWNER_ID, returnEmptySetIfValueIsNull(aDesc.getAffiliationOwnerID()));
BaseConfigType affiliationConfig = idffManager.getAffiliationDescriptorConfig(realm, entityName);
if (affiliationConfig != null) {
Map map = IDFFMetaUtils.getAttributes(affiliationConfig);
if (map.containsKey(ATTR_AFFILIATE_SIGNING_CERT_ALIAS)) {
values.put(ATTR_AFFILIATE_SIGNING_CERT_ALIAS, returnEmptySetIfValueIsNull(convertListToSet((List) map.get(ATTR_AFFILIATE_SIGNING_CERT_ALIAS))));
} else {
values.put(ATTR_AFFILIATE_SIGNING_CERT_ALIAS, Collections.EMPTY_SET);
}
if (map.containsKey(ATTR_AFFILIATE_ENCRYPTION_CERT_ALIAS)) {
values.put(ATTR_AFFILIATE_ENCRYPTION_CERT_ALIAS, returnEmptySetIfValueIsNull(convertListToSet((List) map.get(ATTR_AFFILIATE_ENCRYPTION_CERT_ALIAS))));
} else {
values.put(ATTR_AFFILIATE_ENCRYPTION_CERT_ALIAS, Collections.EMPTY_SET);
}
}
} else {
values.put(ATTR_AFFILIATE_ID, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_OWNER_ID, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_VALID_UNTIL, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_CACHE_DURATION, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_SIGNING_CERT_ALIAS, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_ENCRYPTION_CERT_ALIAS, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_ENCRYPTION_KEY_SIZE, Collections.EMPTY_SET);
values.put(ATTR_AFFILIATE_ENCRYPTION_KEY_ALGORITHM, Collections.EMPTY_SET);
}
logEvent("SUCCEED_GET_AFFILIATE_ENTITY_DESCRIPTOR_ATTR_VALUES", params);
} catch (IDFFMetaException e) {
String strError = getErrorString(e);
String[] paramsEx = { realm, entityName, "IDFF", "SP", strError };
logEvent("FEDERATION_EXCEPTION_GET_AFFILIATE_ENTITY_DESCRIPTOR_ATTR_VALUES", paramsEx);
throw new AMConsoleException(strError);
}
return (values != null) ? values : Collections.EMPTY_MAP;
}
use of com.sun.identity.federation.meta.IDFFMetaManager in project OpenAM by OpenRock.
the class IDFFModelImpl method getIDPAuthenticationContexts.
/**
* Returns the object of Auththentication Contexts in IDP.
*
* @param realm Realm of Entity
* @param entityName Name of Entity Descriptor.
* @return attributes values of provider.
*/
public IDFFAuthContexts getIDPAuthenticationContexts(String realm, String entityName) throws AMConsoleException {
String str = null;
IDFFAuthContexts cxt = new IDFFAuthContexts();
try {
List tmpList = new ArrayList();
IDFFMetaManager manager = getIDFFMetaManager();
Map map = new HashMap();
BaseConfigType idpConfig = manager.getIDPDescriptorConfig(realm, entityName);
if (idpConfig != null) {
map = IDFFMetaUtils.getAttributes(idpConfig);
} else {
throw new AMConsoleException("invalid.entity.name");
}
List list = (List) map.get(ATTR_IDP_AUTHN_CONTEXT_MAPPING);
for (int i = 0; i < list.size(); i++) {
String tmp = (String) list.get(i);
int index = tmp.lastIndexOf("|");
String level = removeKey(tmp.substring(index + 1));
tmp = tmp.substring(0, index);
index = tmp.lastIndexOf("|");
String value = removeKey(tmp.substring(index + 1));
tmp = tmp.substring(0, index);
index = tmp.indexOf("|");
String key = removeKey(tmp.substring(index + 1));
String name = removeKey(tmp.substring(0, index));
cxt.put(name, "true", key, value, level);
}
} catch (IDFFMetaException e) {
throw new AMConsoleException(getErrorString(e));
} catch (AMConsoleException e) {
throw new AMConsoleException(getErrorString(e));
}
return (cxt != null) ? cxt : new IDFFAuthContexts();
}
Aggregations