use of org.gluu.oxtrust.model.GluuCustomAttribute in project oxTrust by GluuFederation.
the class Shibboleth3ConfService method addGluuSP.
/**
* Adds Trust relationship for own shibboleth SP and restarts services after
* done.
*
* @author �Oleksiy Tataryn�
*/
public void addGluuSP() {
String gluuSPInum = trustService.generateInumForNewTrustRelationship();
String metadataFN = getSpNewMetadataFileName(gluuSPInum);
GluuSAMLTrustRelationship gluuSP = new GluuSAMLTrustRelationship();
gluuSP.setInum(gluuSPInum);
gluuSP.setDisplayName("gluu SP on appliance");
gluuSP.setDescription("Trust Relationship for the SP");
gluuSP.setSpMetaDataSourceType(GluuMetadataSourceType.FILE);
gluuSP.setSpMetaDataFN(metadataFN);
//TODO:
gluuSP.setEntityId(StringHelper.removePunctuation(gluuSP.getInum()));
gluuSP.setUrl(appConfiguration.getApplianceUrl());
String certificate = "";
boolean result = false;
try {
certificate = FileUtils.readFileToString(new File(appConfiguration.getGluuSpCert())).replaceAll("-{5}.*?-{5}", "");
generateSpMetadataFile(gluuSP, certificate);
result = isCorrectSpMetadataFile(gluuSP.getSpMetaDataFN());
} catch (IOException e) {
log.error("Failed to gluu SP read certificate file.", e);
}
GluuAppliance appliance = null;
if (result) {
gluuSP.setStatus(GluuStatus.ACTIVE);
String inum = gluuSP.getInum();
String dn = trustService.getDnForTrustRelationShip(inum);
gluuSP.setDn(dn);
List<GluuCustomAttribute> customAttributes = new ArrayList<GluuCustomAttribute>();
List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(GluuUserRole.ADMIN);
HashMap<String, GluuAttribute> attributesByDNs = attributeService.getAttributeMapByDNs(attributes);
List<String> customAttributeDNs = new ArrayList<String>();
List<String> attributeNames = new ArrayList<String>();
for (String attributeName : appConfiguration.getGluuSpAttributes()) {
GluuAttribute attribute = attributeService.getAttributeByName(attributeName, attributes);
if (attribute != null) {
customAttributeDNs.add(attribute.getDn());
}
}
customAttributes.addAll(attributeService.getCustomAttributesByAttributeDNs(customAttributeDNs, attributesByDNs));
gluuSP.setReleasedCustomAttributes(customAttributes);
gluuSP.setReleasedAttributes(attributeNames);
trustService.updateReleasedAttributes(gluuSP);
trustService.addTrustRelationship(gluuSP);
appliance = applianceService.getAppliance();
appliance.setGluuSPTR(gluuSP.getInum());
}
if (result) {
applianceService.updateAppliance(appliance);
log.warn("gluuSP EntityID set to " + StringHelper.removePunctuation(gluuSP.getInum()) + ". Shibboleth3 configuration should be updated.");
// applianceService.restartServices();
} else {
log.error("IDP configuration update failed. GluuSP was not generated.");
}
}
use of org.gluu.oxtrust.model.GluuCustomAttribute in project oxTrust by GluuFederation.
the class PersonService method getMandatoryAtributes.
/* (non-Javadoc)
* @see org.gluu.oxtrust.ldap.service.IPersonService#getMandatoryAtributes()
*/
@Override
public List<GluuCustomAttribute> getMandatoryAtributes() {
if (this.mandatoryAttributes == null) {
mandatoryAttributes = new ArrayList<GluuCustomAttribute>();
mandatoryAttributes.add(new GluuCustomAttribute("uid", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("givenName", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("displayName", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("sn", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("mail", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("userPassword", "", true, true));
mandatoryAttributes.add(new GluuCustomAttribute("gluuStatus", "", true, true));
}
return mandatoryAttributes;
}
use of org.gluu.oxtrust.model.GluuCustomAttribute in project oxTrust by GluuFederation.
the class UserProfileAction method getPhotoThumbData.
public byte[] getPhotoThumbData() {
List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(GluuUserRole.USER);
GluuAttribute photoAttribute = attributeService.getAttributeByName("photo1", attributes);
GluuCustomAttribute customAttribute = new GluuCustomAttribute("photo1", this.person.getAttribute("photo1"));
customAttribute.setMetadata(photoAttribute);
GluuImage image = imageService.getImage(customAttribute);
if (image == null) {
return imageService.getBlankPhotoData();
}
return imageService.getThumImageData(image);
}
use of org.gluu.oxtrust.model.GluuCustomAttribute in project oxTrust by GluuFederation.
the class UserProfileAction method update.
public String update() {
try {
if (this.imapData != null) {
List<GluuCustomAttribute> customAttributes = this.person.getCustomAttributes();
for (GluuCustomAttribute gluuCustomAttribute : customAttributes) {
if (gluuCustomAttribute.getName().equals("gluuIMAPData")) {
gluuCustomAttribute.setValue(imapDataService.getJsonStringFromImap(this.imapData));
}
}
}
GluuCustomPerson person = this.person;
// TODO: Reffactor
person.setGluuOptOuts(optOuts.size() == 0 ? null : optOuts);
personService.updatePerson(person);
} catch (LdapMappingException ex) {
log.error("Failed to update profile {}", ex, person.getInum());
return OxTrustConstants.RESULT_FAILURE;
}
customAttributeAction.savePhotos();
return OxTrustConstants.RESULT_SUCCESS;
}
use of org.gluu.oxtrust.model.GluuCustomAttribute in project oxTrust by GluuFederation.
the class WhitePagesAction method getReleasedAttributes.
public List<GluuCustomAttribute> getReleasedAttributes(GluuCustomPerson person) {
if (person == null) {
return Arrays.asList(new GluuCustomAttribute[0]);
}
List<GluuCustomAttribute> releasedAttributes = new ArrayList<GluuCustomAttribute>();
for (GluuCustomAttribute attribute : person.getCustomAttributes()) {
List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(GluuUserRole.USER);
GluuAttribute metadata = attributeService.getAttributeByName(attribute.getName(), attributes);
if (metadata != null && metadata.isWhitePagesCanView() && !tableAttributes.contains(attribute.getName())) {
attribute.setMetadata(metadata);
releasedAttributes.add(attribute);
}
}
return releasedAttributes;
}
Aggregations