gluu
公開メンバ関数 | 限定公開メンバ関数 | 静的変数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.action.UpdateTrustRelationshipAction クラス
org.gluu.oxtrust.action.UpdateTrustRelationshipAction の継承関係図
Inheritance graph
org.gluu.oxtrust.action.UpdateTrustRelationshipAction 連携図
Collaboration graph

公開メンバ関数

List< GluuMetadataSourceTypegetMetadataSourceTypesList ()
 
String add ()
 
String update ()
 
String cancel ()
 
String save ()
 
String saveImpl ()
 
void newThreadSaveSpMetaDataFileSourceTypeURI ()
 
void initTrustRelationship (GluuSAMLTrustRelationship trust, List< GluuAttribute > attributes)
 
String getCertForGeneratedSP () throws IOException
 
boolean saveSpMetaDataFileSourceTypeURI () throws IOException
 
String delete ()
 
String downloadConfiguration ()
 
String downloadConfigurationImpl ()
 
Part getFileWrapper ()
 
void setFileWrapper (Part fileWrapper)
 
Part getCertWrapper ()
 
void setCertWrapper (Part certWrapper)
 
String getInum ()
 
void setInum (String inum)
 
GluuSAMLTrustRelationship getTrustRelationship ()
 
String getMetadata () throws IOException
 
boolean isUpdate ()
 
String getSAML1URI (GluuAttribute attribute)
 
String getSAML2URI (GluuAttribute attribute)
 
void setSelectedTR (String trust)
 
void setContainerFederation (SelectItem federation)
 
SelectItem getContainerFederation ()
 
ArrayList< SelectItem > getAllFederations ()
 
boolean isActive ()
 
String activationToggle ()
 
void setSelectedEntities (String[] entities)
 
String [] getSelectedEntities ()
 
void filterEntities ()
 
void setAvailableEntities (List< String > availableEntities)
 
List< String > getAvailableEntities ()
 
void setFilterString (String filterString)
 
String getFilterString ()
 
List< GluuSAMLTrustRelationshipgetFederatedSites ()
 
GluuEntityType [] getEntityTypeList ()
 
boolean generateSp () throws IOException
 
List< GluuSAMLTrustRelationshipgetAllOtherFederations (String inum)
 
GluuSAMLTrustRelationship getTrustContainerFederation (String inum)
 

限定公開メンバ関数

String getEventQueue ()
 
String getActionName ()
 
boolean allowAccessAttribute (GluuAttribute attribute)
 
boolean allowEditAttribute (GluuAttribute attribute)
 

静的変数

static final Class<?> [] NO_PARAM_SIGNATURE = new Class[0]
 

非公開メンバ関数

boolean initActions ()
 
List< GluuAttribute > getAllAttributes ()
 
List< GluuAttribute > getAllActiveAttributes ()
 
void initFederatedSites (GluuSAMLTrustRelationship trustRelationship)
 
void initAttributes (GluuSAMLTrustRelationship trust)
 
void setEntityId ()
 
void saveTR (boolean isUpdate)
 
void updateSpMetaDataCert (Part certWrapper) throws IOException
 
void markAsInactive ()
 
void updateShibboleth3Configuration (List< GluuSAMLTrustRelationship > trustRelationships)
 
boolean generateSpMetaDataFile (String certificate)
 
boolean generateSpMetaDataFileImpl (String certificate)
 
boolean saveSpMetaDataFileSourceTypeFile () throws IOException
 
List< GluuCustomAttributegetCurrentCustomAttributes ()
 

非公開変数類

Logger log
 
AppConfiguration appConfiguration
 
String inum
 
boolean update
 
GluuSAMLTrustRelationship trustRelationship
 
OrganizationService organizationService
 
SchemaService shemaService
 
AttributeService attributeService
 
MetadataValidationTimer metadataValidationTimer
 
TrustService trustService
 
ClientService clientService
 
Identity identity
 
TemplateService templateService
 
SvnSyncTimer svnSyncTimer
 
Shibboleth3ConfService shibboleth3ConfService
 
FacesMessages facesMessages
 
ConversationService conversationService
 
TrustContactsAction trustContactsAction
 
MetadataFiltersAction metadataFiltersAction
 
RelyingPartyAction relyingPartyAction
 
CustomAttributeAction customAttributeAction
 
FederationDeconstructionAction federationDeconstructionAction
 
SSLService sslService
 
Part fileWrapper
 
Part certWrapper
 
String selectedTR
 
List< GluuSAMLTrustRelationshipfederatedSites
 
List< String > availableEntities
 
List< String > filteredEntities
 
String filterString
 
OxTrustAuditService oxTrustAuditService
 
List< String > availableEntitiesFiltered
 
transient ExternalContext externalContext
 

静的非公開変数類

static final long serialVersionUID = -1032167044333943680L
 

詳解

Action class for updating and adding the trust relationships

著者
Yuriy Movchan Date: 11.04.2010

関数詳解

◆ activationToggle()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.activationToggle ( )
inline
1359  {
1360  if (trustRelationship.getStatus().equals(GluuStatus.ACTIVE)) {
1361  trustRelationship.setStatus(GluuStatus.INACTIVE);
1362  } else if (trustRelationship.getStatus().equals(GluuStatus.INACTIVE)) {
1363  trustRelationship.setStatus(GluuStatus.ACTIVE);
1364  }
1365  saveTR(true);
1366 
1367  List<GluuSAMLTrustRelationship> trustRelationships = trustService.getAllActiveTrustRelationships();
1368  updateShibboleth3Configuration(trustRelationships);
1369 
1370  facesMessages.add(FacesMessage.SEVERITY_INFO,
1371  "Relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}' #{updateTrustRelationshipAction.active ? 'activated' : 'deactivated'} successfully");
1372 
1373  return OxTrustConstants.RESULT_SUCCESS;
1374  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
void saveTR(boolean isUpdate)
Definition: UpdateTrustRelationshipAction.java:647
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
GluuStatus getStatus()
Definition: GluuSAMLTrustRelationship.java:388
void setStatus(GluuStatus status)
Definition: GluuSAMLTrustRelationship.java:392
void updateShibboleth3Configuration(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: UpdateTrustRelationshipAction.java:758

◆ add()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.add ( )
inline
217  {
218  if (this.trustRelationship != null) {
219  return OxTrustConstants.RESULT_SUCCESS;
220  }
221 
222  this.update = false;
223  this.trustRelationship = new GluuSAMLTrustRelationship();
224 
227 
228  boolean initActionsResult = initActions();
229  if (!initActionsResult) {
230  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to add relationship");
231  conversationService.endConversation();
232 
233  return OxTrustConstants.RESULT_FAILURE;
234  }
235 
236  return OxTrustConstants.RESULT_SUCCESS;
237  }
void setOwner(String owner)
Definition: GluuSAMLTrustRelationship.java:328
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
void setMaxRefreshDelay(String maxRefreshDelay)
Definition: GluuSAMLTrustRelationship.java:312
OrganizationService organizationService
Definition: UpdateTrustRelationshipAction.java:118
ConversationService conversationService
Definition: UpdateTrustRelationshipAction.java:151
GluuOrganization getOrganization()
Definition: OrganizationService.java:84
boolean initActions()
Definition: UpdateTrustRelationshipAction.java:452
String update()
Definition: UpdateTrustRelationshipAction.java:239

◆ allowAccessAttribute()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.allowAccessAttribute ( GluuAttribute  attribute)
inlineprotected
1134  {
1135  return attribute.isAdminCanAccess();
1136  }

◆ allowEditAttribute()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.allowEditAttribute ( GluuAttribute  attribute)
inlineprotected
1138  {
1139  // Allow select any attribute
1140  return true;
1141  }

◆ cancel()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.cancel ( )
inline
271  {
272  if (update) {
273  facesMessages.add(FacesMessage.SEVERITY_INFO,
274  "Relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}' not updated");
275  } else {
276  facesMessages.add(FacesMessage.SEVERITY_INFO, "New relationship not added");
277  }
278  conversationService.endConversation();
279 
280  return OxTrustConstants.RESULT_SUCCESS;
281  }
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
ConversationService conversationService
Definition: UpdateTrustRelationshipAction.java:151
String update()
Definition: UpdateTrustRelationshipAction.java:239

◆ delete()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.delete ( )
inline
868  {
869  String result = OxTrustConstants.RESULT_FAILURE;
870  if (update) {
871  // Remove trust relationship
872  try {
873  synchronized (svnSyncTimer) {
874  for (GluuSAMLTrustRelationship trust : trustService
875  .getDeconstructedTrustRelationships(this.trustRelationship)) {
876  if (GluuStatus.ACTIVE.equals(trust.getStatus())) {
877  log.error(
878  "Failed to remove federation trust relationship {}, there are still active federated Trust Relationships left.",
879  this.trustRelationship.getInum());
880  return result;
881  }
882  }
883  for (GluuSAMLTrustRelationship trust : trustService
884  .getDeconstructedTrustRelationships(this.trustRelationship)) {
886  svnSyncTimer.removeTrustRelationship(trust, identity.getCredentials().getUsername());
887  }
891  "TR " + this.trustRelationship.getInum() + " **" + this.trustRelationship.getDisplayName()
892  + "** REMOVED",
893  identity.getUser(),
894  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
896  identity.getCredentials().getUsername());
897  }
898  result = OxTrustConstants.RESULT_SUCCESS;
899  } catch (BasePersistenceException ex) {
900  result = OxTrustConstants.RESULT_FAILURE;
901  log.error("Failed to remove trust relationship {}", this.trustRelationship.getInum(), ex);
902  } catch (InterruptedException e) {
903  log.error(
904  "Failed to add trust relationship to remove queue. It will be removed during next application restart",
905  e);
906  } finally {
907  List<GluuSAMLTrustRelationship> trustRelationships = trustService.getAllActiveTrustRelationships();
908  updateShibboleth3Configuration(trustRelationships);
909  }
910  }
911 
912  if (OxTrustConstants.RESULT_SUCCESS.equals(result)) {
913  facesMessages.add(FacesMessage.SEVERITY_INFO,
914  "Relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}' removed successfully");
915  } else if (OxTrustConstants.RESULT_FAILURE.equals(result)) {
916  facesMessages.add(FacesMessage.SEVERITY_ERROR,
917  "Failed to remove relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}'");
918  }
919 
920  return result;
921  }
Identity identity
Definition: UpdateTrustRelationshipAction.java:136
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
void removeTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:140
void removeTrustRelationship(GluuSAMLTrustRelationship trustRelationship, String user)
Definition: SvnSyncTimer.java:178
String getInum()
Definition: GluuSAMLTrustRelationship.java:300
OxTrustAuditService oxTrustAuditService
Definition: UpdateTrustRelationshipAction.java:184
void removeSpMetadataFile(String spMetadataFileName)
Definition: Shibboleth3ConfService.java:848
String getDisplayName()
Definition: GluuSAMLTrustRelationship.java:228
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
GluuCustomPerson getUser()
Definition: Identity.java:39
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String update()
Definition: UpdateTrustRelationshipAction.java:239
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
void updateShibboleth3Configuration(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: UpdateTrustRelationshipAction.java:758
SvnSyncTimer svnSyncTimer
Definition: UpdateTrustRelationshipAction.java:142

◆ downloadConfiguration()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.downloadConfiguration ( )
inline
923  {
924  String outcome = downloadConfigurationImpl();
925 
926  if (OxTrustConstants.RESULT_FAILURE.equals(outcome)) {
927  facesMessages.add(FacesMessage.SEVERITY_ERROR,
928  "Failed to prepare Shibboleth3 configuration files for download'");
929  }
930 
931  return outcome;
932  }
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
String downloadConfigurationImpl()
Definition: UpdateTrustRelationshipAction.java:934

◆ downloadConfigurationImpl()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.downloadConfigurationImpl ( )
inline
934  {
935  HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext()
936  .getRequest();
937  inum = request.getParameter("inum");
938  log.info("inum " + inum);
939 
940  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(inum);
941  ByteArrayOutputStream bos = new ByteArrayOutputStream(16384);
942  ZipOutputStream zos = ResponseHelper.createZipStream(bos, "Shibboleth v3 configuration files");
943  try {
944  zos.setMethod(ZipOutputStream.DEFLATED);
945  zos.setLevel(Deflater.DEFAULT_COMPRESSION);
946 
947  // Add files
948  String idpMetadataFilePath = shibboleth3ConfService.getIdpMetadataFilePath();
949  if (!ResponseHelper.addFileToZip(idpMetadataFilePath, zos,
950  Shibboleth3ConfService.SHIB3_IDP_IDP_METADATA_FILE)) {
951  log.error("Failed to add " + idpMetadataFilePath + " to zip");
952  return OxTrustConstants.RESULT_FAILURE;
953  }
954 
955  if (trustRelationship.getSpMetaDataFN() == null) {
956  log.error("SpMetaDataFN is not set.");
957  return OxTrustConstants.RESULT_FAILURE;
958  }
959  String spMetadataFilePath = shibboleth3ConfService
960  .getSpMetadataFilePath(trustRelationship.getSpMetaDataFN());
961  if (!ResponseHelper.addFileToZip(spMetadataFilePath, zos,
962  Shibboleth3ConfService.SHIB3_IDP_SP_METADATA_FILE)) {
963  log.error("Failed to add " + spMetadataFilePath + " to zip");
964  return OxTrustConstants.RESULT_FAILURE;
965  }
966  String sslDirFN = appConfiguration.getShibboleth3IdpRootDir() + File.separator
967  + TrustService.GENERATED_SSL_ARTIFACTS_DIR + File.separator;
968  String spKeyFilePath = sslDirFN + shibboleth3ConfService.getSpNewMetadataFileName(trustRelationship)
969  .replaceFirst("\\.xml$", ".key");
970  if (!ResponseHelper.addFileToZip(spKeyFilePath, zos, Shibboleth3ConfService.SHIB3_IDP_SP_KEY_FILE)) {
971  log.error("Failed to add " + spKeyFilePath + " to zip");
972  // return OxTrustConstants.RESULT_FAILURE;
973  }
974  String spCertFilePath = sslDirFN + shibboleth3ConfService.getSpNewMetadataFileName(trustRelationship)
975  .replaceFirst("\\.xml$", ".crt");
976  if (!ResponseHelper.addFileToZip(spCertFilePath, zos, Shibboleth3ConfService.SHIB3_IDP_SP_CERT_FILE)) {
977  log.error("Failed to add " + spCertFilePath + " to zip");
978  // return OxTrustConstants.RESULT_FAILURE;
979  }
980 
981  String spAttributeMap = shibboleth3ConfService.generateSpAttributeMapFile(trustRelationship);
982  if (spAttributeMap == null) {
983  log.error("spAttributeMap is not set.");
984  return OxTrustConstants.RESULT_FAILURE;
985  }
986  if (!ResponseHelper.addFileContentToZip(spAttributeMap, zos,
987  Shibboleth3ConfService.SHIB3_SP_ATTRIBUTE_MAP_FILE)) {
988  log.error("Failed to add " + spAttributeMap + " to zip");
989  return OxTrustConstants.RESULT_FAILURE;
990  }
991 
992  VelocityContext context = new VelocityContext();
993 
994  context.put("spUrl", (trustRelationship.getUrl() != null ? trustRelationship.getUrl() : ""));
995  String gluuSPEntityId = trustRelationship.getEntityId();
996  context.put("gluuSPEntityId", gluuSPEntityId);
997  String spHost = (trustRelationship.getUrl() != null
998  ? trustRelationship.getUrl().replaceAll(":[0-9]*$", "").replaceAll("^.*?//", "")
999  : "");
1000  context.put("spHost", spHost);
1001  String idpUrl = (appConfiguration.getIdpUrl() != null ? appConfiguration.getIdpUrl() : "");
1002  context.put("idpUrl", idpUrl);
1003  String idpHost = idpUrl.replaceAll(":[0-9]*$", "").replaceAll("^.*?//", "");
1004  context.put("idpHost", idpHost);
1005  context.put("orgInum", StringHelper.removePunctuation(organizationService.getOrganizationInum()));
1006  context.put("orgSupportEmail", appConfiguration.getOrgSupportEmail());
1007 
1008  String spShibboleth3FilePath = shibboleth3ConfService.getSpShibboleth3FilePath();
1009  String shibConfig = templateService.generateConfFile(Shibboleth3ConfService.SHIB3_SP_SHIBBOLETH2_FILE,
1010  context);
1011  if (!ResponseHelper.addFileContentToZip(shibConfig, zos,
1012  Shibboleth3ConfService.SHIB3_SP_SHIBBOLETH2_FILE)) {
1013  log.error("Failed to add " + spShibboleth3FilePath + " to zip");
1014  return OxTrustConstants.RESULT_FAILURE;
1015  }
1016 
1017  String spReadMeResourceName = shibboleth3ConfService.getSpReadMeResourceName();
1018  String fileName = (new File(spReadMeResourceName)).getName();
1019  // InputStream is = resourceLoader.getResourceAsStream(spReadMeResourceName);
1020  // InputStream is =
1021  // this.getClass().getClassLoader().getResourceAsStream(spReadMeResourceName);
1022  InputStream is = FacesContext.getCurrentInstance().getExternalContext()
1023  .getResourceAsStream(spReadMeResourceName);
1024 
1025  // InputStream is = getClass().getResourceAsStream(spReadMeResourceName);
1026 
1027  if (!ResponseHelper.addResourceToZip(is, fileName, zos)) {
1028  log.error("Failed to add " + spReadMeResourceName + " to zip");
1029  return OxTrustConstants.RESULT_FAILURE;
1030  }
1031 
1032  String spReadMeWindowsResourceName = shibboleth3ConfService.getSpReadMeWindowsResourceName();
1033  fileName = (new File(spReadMeWindowsResourceName)).getName();
1034  // is = resourceLoader.getResourceAsStream(spReadMeWindowsResourceName);
1035 
1036  is = FacesContext.getCurrentInstance().getExternalContext()
1037  .getResourceAsStream(spReadMeWindowsResourceName);
1038 
1039  if (!ResponseHelper.addResourceToZip(is, fileName, zos)) {
1040  log.error("Failed to add " + spReadMeWindowsResourceName + " to zip");
1041  return OxTrustConstants.RESULT_FAILURE;
1042  }
1043 
1044  } finally {
1045  IOUtils.closeQuietly(zos);
1046  IOUtils.closeQuietly(bos);
1047  }
1048 
1049  boolean result = ResponseHelper.downloadFile("shibboleth3-configuration.zip",
1050  OxTrustConstants.CONTENT_TYPE_APPLICATION_ZIP, bos.toByteArray(), FacesContext.getCurrentInstance());
1051 
1052  return result ? OxTrustConstants.RESULT_SUCCESS : OxTrustConstants.RESULT_FAILURE;
1053  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
String getOrganizationInum()
Definition: OrganizationService.java:202
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
String getSpShibboleth3FilePath()
Definition: Shibboleth3ConfService.java:881
AppConfiguration appConfiguration
Definition: UpdateTrustRelationshipAction.java:108
OrganizationService organizationService
Definition: UpdateTrustRelationshipAction.java:118
String getIdpMetadataFilePath()
Definition: Shibboleth3ConfService.java:614
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
String generateSpAttributeMapFile(GluuSAMLTrustRelationship trustRelationship)
Definition: Shibboleth3ConfService.java:797
TemplateService templateService
Definition: UpdateTrustRelationshipAction.java:139
String getSpReadMeWindowsResourceName()
Definition: Shibboleth3ConfService.java:891
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String inum
Definition: UpdateTrustRelationshipAction.java:112
String generateConfFile(String template, VelocityContext context)
Definition: TemplateService.java:51
String getSpReadMeResourceName()
Definition: Shibboleth3ConfService.java:887

◆ filterEntities()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.filterEntities ( )
inline
1391  {
1392  filteredEntities = null;
1393  if (StringHelper.isNotEmpty(getFilterString())) {
1394  filteredEntities = new ArrayList<String>();
1396  if (entity.toLowerCase().contains(getFilterString().toLowerCase())) {
1397  filteredEntities.add(entity);
1398  }
1399  }
1400  }
1401  }
List< String > filteredEntities
Definition: UpdateTrustRelationshipAction.java:179
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< String > getGluuEntityId()
Definition: GluuSAMLTrustRelationship.java:165
GluuSAMLTrustRelationship getTrustContainerFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:425
String getFilterString()
Definition: UpdateTrustRelationshipAction.java:1441

◆ generateSp()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.generateSp ( ) throws IOException
inline
1453  {
1454  FacesContext facesContext = FacesContext.getCurrentInstance();
1455  try {
1456  log.info(" generate sp ------------");
1458 
1459  String cert = getCertForGeneratedSP();
1460  // boolean val = generateSpMetaDataFile(cert);
1461 
1462  String spMetadataFileName = this.trustRelationship.getSpMetaDataFN();
1463 
1464  if (StringHelper.isEmpty(spMetadataFileName)) {
1465  // Generate new file name
1467  trustRelationship.setSpMetaDataFN(spMetadataFileName);
1468  }
1469 
1471  cert);
1472 
1473  // ServletContext ctx = (ServletContext)
1474  // FacesContext.getCurrentInstance()
1475  // .getExternalContext().getContext();
1476  HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
1477  // InputStream fis = new
1478  // ByteArrayInputStream(spMetadataFileContent.getBytes(StandardCharsets.UTF_8));//ctx.getResourceAsStream("/WEB-INF/testfile.zip");
1479 
1480  // Prepare the response
1481  response.setContentType("application/xml");
1482  response.setHeader("Content-Disposition", "attachment;filename=" + spMetadataFileName);
1483  ServletOutputStream os = response.getOutputStream();
1484  os.write(spMetadataFileContent.getBytes());
1485  os.flush();
1486  os.close();
1487  facesContext.responseComplete();
1488  } catch (IOException e) {
1489  // TODO Auto-generated catch block
1490  e.printStackTrace();
1491  }
1492 
1493  facesContext.responseComplete();
1494  return true;
1495  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
String generateSpMetadataFileContent(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:835
String getCertForGeneratedSP()
Definition: UpdateTrustRelationshipAction.java:561
void setSpMetaDataFN(String spMetaDataFN)
Definition: GluuSAMLTrustRelationship.java:368
transient ExternalContext externalContext
Definition: UpdateTrustRelationshipAction.java:195
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
String generateInumForNewTrustRelationship()
Definition: TrustService.java:241
void setInum(String inum)
Definition: GluuSAMLTrustRelationship.java:304

◆ generateSpMetaDataFile()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.generateSpMetaDataFile ( String  certificate)
inlineprivate
774  {
775  boolean result = generateSpMetaDataFileImpl(certificate);
776 
777  if (result) {
778  this.trustRelationship.setSpMetaDataSourceType(GluuMetadataSourceType.FILE);
779  facesMessages.add(FacesMessage.SEVERITY_WARN, "SP meta-data file generated.");
780  } else {
781  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to generate SP meta-data file");
782  markAsInactive();
783  }
784  return result;
785  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
void markAsInactive()
Definition: UpdateTrustRelationshipAction.java:738
void setSpMetaDataSourceType(GluuMetadataSourceType spMetaDataSourceType)
Definition: GluuSAMLTrustRelationship.java:376
boolean generateSpMetaDataFileImpl(String certificate)
Definition: UpdateTrustRelationshipAction.java:787

◆ generateSpMetaDataFileImpl()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.generateSpMetaDataFileImpl ( String  certificate)
inlineprivate
787  {
788  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
789 
790  if (StringHelper.isEmpty(spMetadataFileName)) {
791  // Generate new file name
793  trustRelationship.setSpMetaDataFN(spMetadataFileName);
794  }
795 
797  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void setSpMetaDataFN(String spMetaDataFN)
Definition: GluuSAMLTrustRelationship.java:368
boolean generateSpMetadataFile(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:813
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364

◆ getActionName()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getActionName ( )
inlineprotected
1130  {
1131  return "updateTrustRelationshipAction";
1132  }

◆ getAllActiveAttributes()

List<GluuAttribute> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getAllActiveAttributes ( )
inlineprivate
486  {
487  List<GluuAttribute> attributes = attributeService.getAllActivePersonAttributes(UserRole.ADMIN);
488  attributes.remove(attributeService.getAttributeByName("userPassword"));
489  return attributes;
490  }
AttributeService attributeService
Definition: UpdateTrustRelationshipAction.java:124
List< GluuAttribute > getAllActivePersonAttributes(UserRole admin)
Definition: AttributeService.java:628

◆ getAllAttributes()

List<GluuAttribute> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getAllAttributes ( )
inlineprivate
481  {
482  List<GluuAttribute> attributes = attributeService.getAllPersonAttributes(UserRole.ADMIN);
483  return attributes;
484  }
AttributeService attributeService
Definition: UpdateTrustRelationshipAction.java:124
List< GluuAttribute > getAllPersonAttributes(UserRole gluuUserRole)
Definition: AttributeService.java:74

◆ getAllFederations()

ArrayList<SelectItem> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getAllFederations ( )
inline
1347  {
1348  ArrayList<SelectItem> result = new ArrayList<SelectItem>();
1349  for (GluuSAMLTrustRelationship federation : trustService.getAllFederations()) {
1350  result.add(new SelectItem(federation, federation.getDisplayName()));
1351  }
1352  return result;
1353  }
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< GluuSAMLTrustRelationship > getAllFederations()
Definition: TrustService.java:210

◆ getAllOtherFederations()

List<GluuSAMLTrustRelationship> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getAllOtherFederations ( String  inum)
inline
1497  {
1499  }
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< GluuSAMLTrustRelationship > getAllOtherFederations(String inum)
Definition: TrustService.java:221
String inum
Definition: UpdateTrustRelationshipAction.java:112

◆ getAvailableEntities()

List<String> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getAvailableEntities ( )
inline
1408  {
1409  GluuSAMLTrustRelationship containerFederation = trustService.getTrustContainerFederation(trustRelationship);
1410  if (containerFederation == null) {
1411  return null;
1412  } else {
1413  if (!containerFederation.getGluuEntityId().contains(trustRelationship.getEntityId())) {
1415  availableEntities = null;
1416  }
1417  }
1418 
1419  if (availableEntities == null) {
1420  availableEntities = new ArrayList<String>();
1421  if (containerFederation != null) {
1422  availableEntities.addAll(containerFederation.getGluuEntityId());
1423  }
1424 
1425  }
1426  availableEntitiesFiltered = new ArrayList<String>();
1428 
1429  if (filteredEntities != null) {
1431 
1432  }
1433 
1435  }
List< String > filteredEntities
Definition: UpdateTrustRelationshipAction.java:179
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void setEntityId(String entityId)
Definition: GluuSAMLTrustRelationship.java:195
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
List< String > availableEntitiesFiltered
Definition: UpdateTrustRelationshipAction.java:191
String getEntityId()
Definition: GluuSAMLTrustRelationship.java:188
GluuSAMLTrustRelationship getTrustContainerFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:425
List< String > availableEntities
Definition: UpdateTrustRelationshipAction.java:178

◆ getCertForGeneratedSP()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getCertForGeneratedSP ( ) throws IOException
inline

If there is no certificate selected, or certificate is invalid - generates one.

著者
�Oleksiy Tataryn�
戻り値
certificate for generated SP
例外
IOException
CertificateEncodingException
561  {
562  X509Certificate cert = null;
563 
564  if ((certWrapper != null) && (certWrapper.getInputStream() != null)) {
565  try {
566  cert = sslService.getPEMCertificate(certWrapper.getInputStream());
567  } catch (Exception e) {
568  log.error(e.getMessage(), e);
569  }
570  }
571 
572  if ((cert == null) && (trustRelationship.getUrl() != null)) {
573  facesMessages.add(FacesMessage.SEVERITY_ERROR,
574  "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate.");
575  if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
576  Security.addProvider(new BouncyCastleProvider());
577  }
578 
579  try {
580  KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA", "BC");
581  keyPairGen.initialize(2048);
582  KeyPair pair = keyPairGen.generateKeyPair();
583  StringWriter keyWriter = new StringWriter();
584  PEMWriter pemFormatWriter = new PEMWriter(keyWriter);
585  pemFormatWriter.writeObject(pair.getPrivate());
586  pemFormatWriter.close();
587 
588  String url = trustRelationship.getUrl().replaceFirst(".*//", "");
589 
590  X509v3CertificateBuilder v3CertGen = new JcaX509v3CertificateBuilder(
591  new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"),
592  BigInteger.valueOf(new SecureRandom().nextInt()),
593  new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30),
594  new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 365 * 10)),
595  new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"), pair.getPublic());
596 
597  cert = new JcaX509CertificateConverter().setProvider("BC").getCertificate(v3CertGen
598  .build(new JcaContentSignerBuilder("MD5withRSA").setProvider("BC").build(pair.getPrivate())));
599  org.apache.commons.codec.binary.Base64 encoder = new org.apache.commons.codec.binary.Base64(64);
600  byte[] derCert = cert.getEncoded();
601  String pemCertPre = new String(encoder.encode(derCert));
602  log.debug(Shibboleth3ConfService.PUBLIC_CERTIFICATE_START_LINE);
603  log.debug(pemCertPre);
604  log.debug(Shibboleth3ConfService.PUBLIC_CERTIFICATE_END_LINE);
605 
607  shibboleth3ConfService.saveKey(trustRelationship, keyWriter.toString());
608 
609  } catch (Exception e) {
610  e.printStackTrace();
611  }
612 
613  // String certName = appConfiguration.getCertDir() + File.separator +
614  // StringHelper.removePunctuation(appConfiguration.getOrgInum())
615  // + "-shib.crt";
616  // File certFile = new File(certName);
617  // if (certFile.exists()) {
618  // cert = SSLService.instance().getPEMCertificate(certName);
619  // }
620  }
621 
622  String certificate = null;
623 
624  if (cert != null) {
625 
626  try {
627 
628  certificate = new String(Base64.encode(cert.getEncoded()));
629 
630  log.info("##### certificate = " + certificate);
631 
632  } catch (CertificateEncodingException e) {
633  certificate = null;
634  facesMessages.add(FacesMessage.SEVERITY_ERROR,
635  "Failed to encode provided certificate. Please notify Gluu support about this.");
636  log.error("Failed to encode certificate to DER", e);
637  }
638 
639  } else {
640  facesMessages.add(FacesMessage.SEVERITY_ERROR,
641  "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate.");
642  }
643 
644  return certificate;
645  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
SSLService sslService
Definition: UpdateTrustRelationshipAction.java:169
void saveKey(GluuSAMLTrustRelationship trustRelationship, String key)
Definition: Shibboleth3ConfService.java:1571
Part certWrapper
Definition: UpdateTrustRelationshipAction.java:172
X509Certificate getPEMCertificate(String fileName)
Definition: SSLService.java:69
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
Logger log
Definition: UpdateTrustRelationshipAction.java:105
void saveCert(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:1532
String getUrl()
Definition: GluuSAMLTrustRelationship.java:396

◆ getCertWrapper()

Part org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getCertWrapper ( )
inline
1063  {
1064  return certWrapper;
1065  }
Part certWrapper
Definition: UpdateTrustRelationshipAction.java:172

◆ getContainerFederation()

SelectItem org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getContainerFederation ( )
inline
1341  {
1342  GluuSAMLTrustRelationship containerFederation = trustService.getTrustContainerFederation(trustRelationship);
1343  return new SelectItem(containerFederation,
1344  containerFederation == null ? "Select Federation" : containerFederation .getDisplayName());
1345  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
GluuSAMLTrustRelationship getTrustContainerFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:425

◆ getCurrentCustomAttributes()

List<GluuCustomAttribute> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getCurrentCustomAttributes ( )
inlineprivate
1071  {
1072  List<GluuCustomAttribute> result = new ArrayList<GluuCustomAttribute>();
1073  if (selectedTR == null || selectedTR.equals(trustRelationship.getInum())) {
1075  } else {
1076  for (GluuSAMLTrustRelationship trust : federatedSites) {
1077  if (selectedTR.equals(trust.getInum())) {
1078  result = trust.getReleasedCustomAttributes();
1079  break;
1080  }
1081  }
1082  }
1083 
1084  return result;
1085  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
String selectedTR
Definition: UpdateTrustRelationshipAction.java:174
String getInum()
Definition: GluuSAMLTrustRelationship.java:300
List< GluuSAMLTrustRelationship > federatedSites
Definition: UpdateTrustRelationshipAction.java:176
List< GluuCustomAttribute > getReleasedCustomAttributes()
Definition: GluuSAMLTrustRelationship.java:348

◆ getEntityTypeList()

GluuEntityType [] org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getEntityTypeList ( )
inline
1449  {
1450  return GluuEntityType.values();
1451  }

◆ getEventQueue()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getEventQueue ( )
inlineprotected
1126  {
1127  return "trustQueue";
1128  }

◆ getFederatedSites()

List<GluuSAMLTrustRelationship> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getFederatedSites ( )
inline
1445  {
1446  return federatedSites;
1447  }
List< GluuSAMLTrustRelationship > federatedSites
Definition: UpdateTrustRelationshipAction.java:176

◆ getFileWrapper()

Part org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getFileWrapper ( )
inline
1055  {
1056  return fileWrapper;
1057  }
Part fileWrapper
Definition: UpdateTrustRelationshipAction.java:171

◆ getFilterString()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getFilterString ( )
inline
1441  {
1442  return this.filterString;
1443  }
String filterString
Definition: UpdateTrustRelationshipAction.java:181

◆ getInum()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getInum ( )
inline
1087  {
1088  return inum;
1089  }
String inum
Definition: UpdateTrustRelationshipAction.java:112

◆ getMetadata()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getMetadata ( ) throws IOException
inline
1100  {
1101  if (trustRelationship == null) {
1102  // return ;
1103  return null;
1104  }
1105 
1106  String filename = trustRelationship.getSpMetaDataFN();
1107  File metadataFile = null;
1108  if (!StringUtils.isEmpty(filename)) {
1109  metadataFile = new File(shibboleth3ConfService.getSpMetadataFilePath(filename));
1110 
1111  if (metadataFile.exists()) {
1112  // metadata = FileUtils.readFileToString(metadataFile);
1113  // return;
1114  return FileUtils.readFileToString(metadataFile);
1115  }
1116  }
1117 
1118  // return;
1119  return null;
1120  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364

◆ getMetadataSourceTypesList()

List<GluuMetadataSourceType> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getMetadataSourceTypesList ( )
inline
200  {
201  List<GluuMetadataSourceType> metadataSourceTypesList = (Arrays.asList(GluuMetadataSourceType.values()));
202  if (GluuEntityType.FederationAggregate.equals(trustRelationship.getEntityType())) {
203  List<GluuMetadataSourceType> GluuMetadataSourceTypeSubList = new ArrayList<GluuMetadataSourceType>();
204  for (GluuMetadataSourceType enumType : GluuMetadataSourceType.values()) {
205  if (!GluuMetadataSourceType.GENERATE.equals(enumType)
206  && !GluuMetadataSourceType.FEDERATION.equals(enumType)) {
207  GluuMetadataSourceTypeSubList.add(enumType);
208  }
209  }
210  return GluuMetadataSourceTypeSubList;
211  } else {
212  return metadataSourceTypesList;
213  }
214 
215  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
GluuEntityType getEntityType()
Definition: GluuSAMLTrustRelationship.java:443

◆ getSAML1URI()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getSAML1URI ( GluuAttribute  attribute)
inline
1295  {
1296  if (StringHelper.isNotEmpty(attribute.getSaml1Uri())) {
1297  return "SAML1 URI: " + attribute.getSaml1Uri();
1298  }
1299  String namespace = "";
1300  if (attribute.isCustom() || StringHelper.isEmpty(attribute.getUrn())
1301  || (!StringHelper.isEmpty(attribute.getUrn())
1302  && attribute.getUrn().startsWith("urn:gluu:dir:attribute-def:"))) {
1303  namespace = "gluu";
1304  } else {
1305  namespace = "mace";
1306  }
1307 
1308  return "SAML1 URI: urn:" + namespace + ":dir:attribute-def:" + attribute.getName();
1309  }

◆ getSAML2URI()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getSAML2URI ( GluuAttribute  attribute)
inline
1311  {
1312  if (StringHelper.isNotEmpty(attribute.getSaml2Uri())) {
1313  return "SAML1 URI: " + attribute.getSaml2Uri();
1314  }
1315  List<String> attributeNames = new ArrayList<String>();
1316  attributeNames.add(attribute.getName());
1317  SchemaEntry schemaEntry = shemaService.getSchema();
1318  List<AttributeTypeDefinition> attributeTypes = shemaService.getAttributeTypeDefinitions(schemaEntry,
1319  attributeNames);
1320  String attributeName = attribute.getName();
1321 
1322  AttributeTypeDefinition attributeTypeDefinition = shemaService.getAttributeTypeDefinition(attributeTypes,
1323  attributeName);
1324  if (attributeTypeDefinition == null) {
1325  log.error("Failed to get OID for attribute name {}", attributeName);
1326  return null;
1327  }
1328 
1329  return "SAML2 URI: urn:oid:" + attributeTypeDefinition.getOID();
1330  }
SchemaService shemaService
Definition: UpdateTrustRelationshipAction.java:121
Logger log
Definition: UpdateTrustRelationshipAction.java:105

◆ getSelectedEntities()

String [] org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getSelectedEntities ( )
inline
1382  {
1383  if (isUpdate() && this.trustRelationship.getGluuEntityId() != null) {
1384  return this.trustRelationship.getGluuEntityId().toArray(new String[0]);
1385  } else {
1386  return new String[0];
1387  }
1388 
1389  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
boolean isUpdate()
Definition: UpdateTrustRelationshipAction.java:1122
List< String > getGluuEntityId()
Definition: GluuSAMLTrustRelationship.java:165

◆ getTrustContainerFederation()

GluuSAMLTrustRelationship org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getTrustContainerFederation ( String  inum)
inline
1501  {
1503  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
GluuSAMLTrustRelationship getTrustContainerFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:425
String getGluuContainerFederation()
Definition: GluuSAMLTrustRelationship.java:236

◆ getTrustRelationship()

GluuSAMLTrustRelationship org.gluu.oxtrust.action.UpdateTrustRelationshipAction.getTrustRelationship ( )
inline
1095  {
1096  return trustRelationship;
1097  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115

◆ initActions()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.initActions ( )
inlineprivate
452  {
454 
455  String resultInitContacts = trustContactsAction.initContacts(this.trustRelationship);
456  if (!StringHelper.equalsIgnoreCase(OxTrustConstants.RESULT_SUCCESS, resultInitContacts)) {
457  return false;
458  }
459 
460  String resultInitMetadataFilters = metadataFiltersAction.initMetadataFilters(this.trustRelationship);
461  if (!StringHelper.equalsIgnoreCase(OxTrustConstants.RESULT_SUCCESS, resultInitMetadataFilters)) {
462  return false;
463  }
464 
465  String resultInitProfileConfigurations = relyingPartyAction.initProfileConfigurations();
466  if (!StringHelper.equalsIgnoreCase(OxTrustConstants.RESULT_SUCCESS, resultInitProfileConfigurations)) {
467  return false;
468  }
469 
470  String resultInitFederationDeconstructions = federationDeconstructionAction
472  if (!StringHelper.equalsIgnoreCase(OxTrustConstants.RESULT_SUCCESS, resultInitFederationDeconstructions)) {
473  return false;
474  }
475 
477 
478  return true;
479  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
RelyingPartyAction relyingPartyAction
Definition: UpdateTrustRelationshipAction.java:160
TrustContactsAction trustContactsAction
Definition: UpdateTrustRelationshipAction.java:154
MetadataFiltersAction metadataFiltersAction
Definition: UpdateTrustRelationshipAction.java:157
FederationDeconstructionAction federationDeconstructionAction
Definition: UpdateTrustRelationshipAction.java:166
String initFederationDeconstructions(GluuSAMLTrustRelationship trustRelationship)
Definition: FederationDeconstructionAction.java:70
void initAttributes(GluuSAMLTrustRelationship trust)
Definition: UpdateTrustRelationshipAction.java:503
String initContacts(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustContactsAction.java:40
String initMetadataFilters(GluuSAMLTrustRelationship trustRelationship)
Definition: MetadataFiltersAction.java:54
String initProfileConfigurations()
Definition: RelyingPartyAction.java:56
void initFederatedSites(GluuSAMLTrustRelationship trustRelationship)
Definition: UpdateTrustRelationshipAction.java:492

◆ initAttributes()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.initAttributes ( GluuSAMLTrustRelationship  trust)
inlineprivate
503  {
504  List<GluuAttribute> attributes = getAllActiveAttributes();
505  List<String> origins = attributeService.getAllAttributeOrigins(attributes);
506 
507  initTrustRelationship(trust, attributes);
508 
509  customAttributeAction.initCustomAttributes(attributes, trust.getReleasedCustomAttributes(), origins,
510  appConfiguration.getPersonObjectClassTypes(), appConfiguration.getPersonObjectClassDisplayNames());
511  }
AppConfiguration appConfiguration
Definition: UpdateTrustRelationshipAction.java:108
AttributeService attributeService
Definition: UpdateTrustRelationshipAction.java:124
List< String > getAllAttributeOrigins()
Definition: AttributeService.java:175
void initCustomAttributes(List< GluuAttribute > attributes, List< GluuCustomAttribute > customAttributes, List< String > origins, String[] objectClassTypes, String[] objectClassDisplayNames)
Definition: CustomAttributeAction.java:99
List< GluuAttribute > getAllActiveAttributes()
Definition: UpdateTrustRelationshipAction.java:486
void initTrustRelationship(GluuSAMLTrustRelationship trust, List< GluuAttribute > attributes)
Definition: UpdateTrustRelationshipAction.java:513
CustomAttributeAction customAttributeAction
Definition: UpdateTrustRelationshipAction.java:163

◆ initFederatedSites()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.initFederatedSites ( GluuSAMLTrustRelationship  trustRelationship)
inlineprivate
492  {
493  List<GluuAttribute> attributes = getAllAttributes();
494 
495  this.federatedSites = new ArrayList<GluuSAMLTrustRelationship>();
496  for (GluuSAMLTrustRelationship deconstructedTrustRelationship : trustService
497  .getDeconstructedTrustRelationships(trustRelationship)) {
498  initTrustRelationship(deconstructedTrustRelationship, attributes);
499  this.federatedSites.add(deconstructedTrustRelationship);
500  }
501  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
List< GluuAttribute > getAllAttributes()
Definition: UpdateTrustRelationshipAction.java:481
List< GluuSAMLTrustRelationship > federatedSites
Definition: UpdateTrustRelationshipAction.java:176
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
void initTrustRelationship(GluuSAMLTrustRelationship trust, List< GluuAttribute > attributes)
Definition: UpdateTrustRelationshipAction.java:513

◆ initTrustRelationship()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.initTrustRelationship ( GluuSAMLTrustRelationship  trust,
List< GluuAttribute >  attributes 
)
inline
513  {
514  HashMap<String, GluuAttribute> attributesByDNs = attributeService.getAttributeMapByDNs(attributes);
515  List<GluuCustomAttribute> customAttributes = attributeService
516  .getCustomAttributesByAttributeDNs(trust.getReleasedAttributes(), attributesByDNs);
517  boolean empty = (customAttributes == null) || customAttributes.isEmpty();
518  if (empty) {
519  customAttributes = new ArrayList<GluuCustomAttribute>();
520  }
521 
522  trust.setReleasedCustomAttributes(customAttributes);
523  }
List< GluuCustomAttribute > getCustomAttributesByAttributeDNs(List< String > attributeDNs, HashMap< String, GluuAttribute > attributesByDNs)
Definition: AttributeService.java:576
AttributeService attributeService
Definition: UpdateTrustRelationshipAction.java:124
HashMap< String, GluuAttribute > getAttributeMapByDNs(List< GluuAttribute > attributes)
Definition: AttributeService.java:595

◆ isActive()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.isActive ( )
inline
1355  {
1356  return GluuStatus.ACTIVE.equals(trustRelationship.getStatus());
1357  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
GluuStatus getStatus()
Definition: GluuSAMLTrustRelationship.java:388

◆ isUpdate()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.isUpdate ( )
inline
1122  {
1123  return update;
1124  }
String update()
Definition: UpdateTrustRelationshipAction.java:239

◆ markAsInactive()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.markAsInactive ( )
inlineprivate
738  {
739  // Mark this configuration as not active because we don't have correct
740  // files in meta-data folder
741  if (update) {
742  try {
743  GluuSAMLTrustRelationship tmpTrustRelationship = trustService
745  tmpTrustRelationship.setStatus(GluuStatus.INACTIVE);
746  saveTR(update);
747  } catch (BasePersistenceException ex) {
748  log.error("Failed to update trust relationship {}", inum, ex);
749  }
750  } else {
751  // Remove file name to generate new one during new save attempt.
752  // Cover case when somebody else added new one simultaneously
754  this.trustRelationship.setInum(null);
755  }
756  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
void saveTR(boolean isUpdate)
Definition: UpdateTrustRelationshipAction.java:647
String getInum()
Definition: GluuSAMLTrustRelationship.java:300
void setSpMetaDataFN(String spMetaDataFN)
Definition: GluuSAMLTrustRelationship.java:368
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
void setStatus(GluuStatus status)
Definition: GluuSAMLTrustRelationship.java:392
String update()
Definition: UpdateTrustRelationshipAction.java:239
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String inum
Definition: UpdateTrustRelationshipAction.java:112
void setInum(String inum)
Definition: GluuSAMLTrustRelationship.java:304

◆ newThreadSaveSpMetaDataFileSourceTypeURI()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.newThreadSaveSpMetaDataFileSourceTypeURI ( )
inline
442  {
443  try {
444  boolean result = saveSpMetaDataFileSourceTypeURI();
445  log.info("Download metadata for TR " + getTrustRelationship().getDisplayName() + " : result : "
446  + result);
447  } catch (IOException ex) {
448  log.error("Failed to Download metadata for TR :" + getTrustRelationship().getDisplayName(), ex);
449  }
450  }
boolean saveSpMetaDataFileSourceTypeURI()
Definition: UpdateTrustRelationshipAction.java:848
Logger log
Definition: UpdateTrustRelationshipAction.java:105
GluuSAMLTrustRelationship getTrustRelationship()
Definition: UpdateTrustRelationshipAction.java:1095

◆ save()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.save ( )
inline
283  {
284  boolean currentUpdate = update;
285  String outcome = saveImpl();
286 
287  if (currentUpdate) {
288  if (OxTrustConstants.RESULT_SUCCESS.equals(outcome)) {
289  facesMessages.add(FacesMessage.SEVERITY_INFO,
290  "Relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}' updateted successfully'");
291  } else if (OxTrustConstants.RESULT_FAILURE.equals(outcome)) {
292  facesMessages.add(FacesMessage.SEVERITY_ERROR,
293  "Failed to update relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}'");
294  }
295  } else {
296  if (OxTrustConstants.RESULT_SUCCESS.equals(outcome)) {
297  facesMessages.add(FacesMessage.SEVERITY_INFO,
298  "Relationship '#{updateTrustRelationshipAction.trustRelationship.displayName}' added successfully");
299  conversationService.endConversation();
300  } else if (OxTrustConstants.RESULT_FAILURE.equals(outcome)) {
301  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to add new relationship");
302  }
303  }
304 
305  return outcome;
306  }
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
String saveImpl()
Definition: UpdateTrustRelationshipAction.java:308
ConversationService conversationService
Definition: UpdateTrustRelationshipAction.java:151
String update()
Definition: UpdateTrustRelationshipAction.java:239

◆ saveImpl()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.saveImpl ( )
inline
308  {
309  synchronized (svnSyncTimer) {
310  if (StringHelper.isEmpty(this.trustRelationship.getInum())) {
312  this.trustRelationship.setInum(this.inum);
313  } else {
314  this.inum = this.trustRelationship.getInum();
315  if (this.trustRelationship.getSpMetaDataFN() == null)
316  update = true;
317  }
318 
319  boolean updateShib3Configuration = appConfiguration.isConfigGeneration();
320  oxTrustAuditService.audit("updateShib3Configuration:" + updateShib3Configuration);
323  case GENERATE:
324  try {
325  String certificate = getCertForGeneratedSP();
326  GluuStatus status = StringHelper.isNotEmpty(certificate) ? GluuStatus.ACTIVE : GluuStatus.INACTIVE;
327  this.trustRelationship.setStatus(status);
328  if (generateSpMetaDataFile(certificate)) {
329  setEntityId();
330  } else {
331  log.error("Failed to generate SP meta-data file");
332  return OxTrustConstants.RESULT_FAILURE;
333  }
334  } catch (IOException ex) {
335  log.error("Failed to download SP certificate", ex);
336  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to download SP certificate");
337 
338  return OxTrustConstants.RESULT_FAILURE;
339  }
340 
341  break;
342  case FILE:
343  try {
345  // update = true;
347  // setEntityId();
348  if (!update) {
349  this.trustRelationship.setStatus(GluuStatus.ACTIVE);
350  }
351  } else {
352  log.error("Failed to save SP meta-data file {}", fileWrapper);
353  return OxTrustConstants.RESULT_FAILURE;
354  }
355  } catch (IOException ex) {
356  log.error("Failed to download SP metadata", ex);
357  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to download SP metadata");
358 
359  return OxTrustConstants.RESULT_FAILURE;
360  }
361 
362  break;
363  case URI:
364  try {
365  // if (saveSpMetaDataFileSourceTypeURI()) {
366  // setEntityId();
368  if (result) {
370  } else {
371  log.info("There is no resource found Uri : {}", trustRelationship.getSpMetaDataURL());
372  }
373  if (!update) {
374  this.trustRelationship.setStatus(GluuStatus.ACTIVE);
375  }
376  /*
377  * } else { log.error("Failed to save SP meta-data file {}", fileWrapper);
378  * return OxTrustConstants.RESULT_FAILURE; }
379  */
380  } catch (Exception e) {
381  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Unable to download metadata");
382  return "unable_download_metadata";
383  }
384  break;
385  case FEDERATION:
386  if (!update) {
387  this.trustRelationship.setStatus(GluuStatus.ACTIVE);
388  }
389  if (this.trustRelationship.getEntityId() == null) {
390  facesMessages.add(FacesMessage.SEVERITY_ERROR, "EntityID must be set to a value");
391  return "invalid_entity_id";
392  }
393 
394  break;
395  default:
396 
397  break;
398  }
399 
401 
402  // We call it from TR validation timer
403  if (trustRelationship.getSpMetaDataSourceType().equals(GluuMetadataSourceType.GENERATE)
404  || (trustRelationship.getSpMetaDataSourceType().equals(GluuMetadataSourceType.FEDERATION))) {
405  boolean federation = shibboleth3ConfService.isFederation(this.trustRelationship);
406  this.trustRelationship.setFederation(federation);
407  }
408 
410 
411  if (update) {
412  try {
413  saveTR(update);
414  } catch (BasePersistenceException ex) {
415  log.error("Failed to update trust relationship {}", inum, ex);
416  return OxTrustConstants.RESULT_FAILURE;
417  }
418  } else {
419  String dn = trustService.getDnForTrustRelationShip(this.inum);
420  // Save trustRelationship
421  this.trustRelationship.setDn(dn);
422  try {
423  saveTR(update);
424  } catch (BasePersistenceException ex) {
425  log.error("Failed to add new trust relationship {}", this.trustRelationship.getInum(), ex);
426  return OxTrustConstants.RESULT_FAILURE;
427  }
428 
429  this.update = true;
430  }
431 
432  if (updateShib3Configuration) {
433  List<GluuSAMLTrustRelationship> trustRelationships = trustService.getAllActiveTrustRelationships();
434  updateShibboleth3Configuration(trustRelationships);
435  }
436  }
437 
438  return OxTrustConstants.RESULT_SUCCESS;
439  }
void updateReleasedAttributes(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:299
boolean saveSpMetaDataFileSourceTypeFile()
Definition: UpdateTrustRelationshipAction.java:799
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
boolean existsResourceUri(String URLName)
Definition: Shibboleth3ConfService.java:1422
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
Part fileWrapper
Definition: UpdateTrustRelationshipAction.java:171
void saveTR(boolean isUpdate)
Definition: UpdateTrustRelationshipAction.java:647
void newThreadSaveSpMetaDataFileSourceTypeURI()
Definition: UpdateTrustRelationshipAction.java:442
void setEntityId()
Definition: UpdateTrustRelationshipAction.java:531
String getInum()
Definition: GluuSAMLTrustRelationship.java:300
AppConfiguration appConfiguration
Definition: UpdateTrustRelationshipAction.java:108
String getSpMetaDataURL()
Definition: GluuSAMLTrustRelationship.java:380
OxTrustAuditService oxTrustAuditService
Definition: UpdateTrustRelationshipAction.java:184
TrustContactsAction trustContactsAction
Definition: UpdateTrustRelationshipAction.java:154
GluuMetadataSourceType getSpMetaDataSourceType()
Definition: GluuSAMLTrustRelationship.java:372
Part certWrapper
Definition: UpdateTrustRelationshipAction.java:172
String getCertForGeneratedSP()
Definition: UpdateTrustRelationshipAction.java:561
void setFederation(boolean isFederation)
Definition: GluuSAMLTrustRelationship.java:144
boolean generateSpMetaDataFile(String certificate)
Definition: UpdateTrustRelationshipAction.java:774
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
void updateSpMetaDataCert(Part certWrapper)
Definition: UpdateTrustRelationshipAction.java:708
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
String getEntityId()
Definition: GluuSAMLTrustRelationship.java:188
void setStatus(GluuStatus status)
Definition: GluuSAMLTrustRelationship.java:392
boolean isFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: Shibboleth3ConfService.java:1523
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String update()
Definition: UpdateTrustRelationshipAction.java:239
void saveContacts()
Definition: TrustContactsAction.java:64
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String inum
Definition: UpdateTrustRelationshipAction.java:112
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
String generateInumForNewTrustRelationship()
Definition: TrustService.java:241
void setInum(String inum)
Definition: GluuSAMLTrustRelationship.java:304
void updateShibboleth3Configuration(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: UpdateTrustRelationshipAction.java:758
SvnSyncTimer svnSyncTimer
Definition: UpdateTrustRelationshipAction.java:142

◆ saveSpMetaDataFileSourceTypeFile()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.saveSpMetaDataFileSourceTypeFile ( ) throws IOException
inlineprivate
799  {
800  log.trace("Saving metadata file source type: File");
801  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
802  boolean emptySpMetadataFileName = StringHelper.isEmpty(spMetadataFileName);
803 
804  if ((fileWrapper == null) || (fileWrapper.getInputStream() == null)) {
805  if (emptySpMetadataFileName) {
806  return false;
807  }
808 
809  // Admin doesn't provide new file. Check if we already has this file
810  String filePath = shibboleth3ConfService.getSpMetadataFilePath(spMetadataFileName);
811  if (filePath == null) {
812  return false;
813  }
814 
815  File file = new File(filePath);
816  if (!file.exists()) {
817  return false;
818  }
819 
820  // File already exist
821  return true;
822  }
823 
824  if (emptySpMetadataFileName) {
825  // Generate new file name
827  this.trustRelationship.setSpMetaDataFN(spMetadataFileName);
828  if (trustRelationship.getDn() == null) {
829  String dn = trustService.getDnForTrustRelationShip(this.inum);
830  this.trustRelationship.setDn(dn);
832  } else {
834  }
835  }
836  String result = shibboleth3ConfService.saveSpMetadataFile(spMetadataFileName, fileWrapper.getInputStream());
837  if (StringHelper.isNotEmpty(result)) {
839  } else {
840  facesMessages.add(FacesMessage.SEVERITY_ERROR,
841  "Failed to save SP meta-data file. Please check if you provide correct file");
842  }
843 
844  return StringHelper.isNotEmpty(result);
845 
846  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
Part fileWrapper
Definition: UpdateTrustRelationshipAction.java:171
void addTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:81
MetadataValidationTimer metadataValidationTimer
Definition: UpdateTrustRelationshipAction.java:127
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
void setSpMetaDataFN(String spMetaDataFN)
Definition: GluuSAMLTrustRelationship.java:368
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String inum
Definition: UpdateTrustRelationshipAction.java:112
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
void queue(String fileName)
Definition: MetadataValidationTimer.java:123

◆ saveSpMetaDataFileSourceTypeURI()

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.saveSpMetaDataFileSourceTypeURI ( ) throws IOException
inline
848  {
849  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
850  boolean emptySpMetadataFileName = StringHelper.isEmpty(spMetadataFileName);
851 
852  if (emptySpMetadataFileName) {
853  // Generate new file name
855  }
856 
858  spMetadataFileName);
859  if (StringHelper.isNotEmpty(result)) {
861  } else {
862  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to download metadata");
863  }
864 
865  return StringHelper.isNotEmpty(result);
866  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
String getSpMetaDataURL()
Definition: GluuSAMLTrustRelationship.java:380
MetadataValidationTimer metadataValidationTimer
Definition: UpdateTrustRelationshipAction.java:127
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
void queue(String fileName)
Definition: MetadataValidationTimer.java:123

◆ saveTR()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.saveTR ( boolean  isUpdate)
inlineprivate
647  {
648  log.trace("Saving Trust Relationship");
649  if (isUpdate) {
650  String oldLogoutRedirectUri = trustService.getRelationshipByDn(trustRelationship.getDn()).getSpLogoutURL();
651  String newLogoutRedirectUri = trustRelationship.getSpLogoutURL();
652  boolean oxClientUpdateNeeded = (oldLogoutRedirectUri != null) && (newLogoutRedirectUri != null)
653  && !newLogoutRedirectUri.equals(oldLogoutRedirectUri);
654 
655  boolean parentInactive = trustRelationship.getStatus().equals(GluuStatus.INACTIVE);
656  if (!federatedSites.isEmpty()) {
657  for (GluuSAMLTrustRelationship trust : federatedSites) {
658  if (parentInactive) {
659  trust.setStatus(GluuStatus.INACTIVE);
660  }
663  svnSyncTimer.updateTrustRelationship(trust, identity.getCredentials().getUsername());
664  }
665  }
668  "TR " + this.trustRelationship.getInum() + " **" + this.trustRelationship.getDisplayName()
669  + "** UPDATED",
670  identity.getUser(),
671  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
672 
673  if (oxClientUpdateNeeded) {
674  OxAuthClient client = clientService.getClientByInum(appConfiguration.getOxAuthClientId());
675  Set<String> updatedLogoutRedirectUris = new HashSet<String>();
676  List<GluuSAMLTrustRelationship> trs = trustService.getAllTrustRelationships();
677  if (trs != null && !trs.isEmpty()) {
678  for (GluuSAMLTrustRelationship tr : trs) {
679  String logoutRedirectUri = tr.getSpLogoutURL();
680  if (logoutRedirectUri != null && !logoutRedirectUri.isEmpty()) {
681  updatedLogoutRedirectUris.add(logoutRedirectUri);
682  }
683  }
684 
685  }
686  if (updatedLogoutRedirectUris.isEmpty()) {
687  client.setPostLogoutRedirectUris(null);
688  } else {
689  client.setPostLogoutRedirectUris(updatedLogoutRedirectUris.toArray(new String[0]));
690  }
691  clientService.updateClient(client);
692 
693  }
694 
695  svnSyncTimer.updateTrustRelationship(this.trustRelationship, identity.getCredentials().getUsername());
696  } else {
699  "TR " + this.trustRelationship.getInum() + " **" + this.trustRelationship.getDisplayName()
700  + "** ADDED",
701  identity.getUser(),
702  (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest());
703  svnSyncTimer.addTrustRelationship(this.trustRelationship, identity.getCredentials().getUsername());
704  }
705 
706  }
void updateReleasedAttributes(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:299
Identity identity
Definition: UpdateTrustRelationshipAction.java:136
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void addTrustRelationship(GluuSAMLTrustRelationship trustRelationship, String user)
Definition: SvnSyncTimer.java:184
void updateClient(OxAuthClient client)
Definition: ClientService.java:144
List< GluuSAMLTrustRelationship > getAllTrustRelationships()
Definition: TrustService.java:198
void addTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:81
String getInum()
Definition: GluuSAMLTrustRelationship.java:300
AppConfiguration appConfiguration
Definition: UpdateTrustRelationshipAction.java:108
OxTrustAuditService oxTrustAuditService
Definition: UpdateTrustRelationshipAction.java:184
List< GluuSAMLTrustRelationship > federatedSites
Definition: UpdateTrustRelationshipAction.java:176
boolean isUpdate()
Definition: UpdateTrustRelationshipAction.java:1122
String getDisplayName()
Definition: GluuSAMLTrustRelationship.java:228
GluuSAMLTrustRelationship getRelationshipByDn(String dn)
Definition: TrustService.java:173
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
void audit(String message, GluuCustomPerson user, HttpServletRequest request)
Definition: OxTrustAuditService.java:18
GluuCustomPerson getUser()
Definition: Identity.java:39
GluuStatus getStatus()
Definition: GluuSAMLTrustRelationship.java:388
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
OxAuthClient getClientByInum(String inum, String... ldapReturnAttributes)
Definition: ClientService.java:91
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship, String user)
Definition: SvnSyncTimer.java:189
Logger log
Definition: UpdateTrustRelationshipAction.java:105
ClientService clientService
Definition: UpdateTrustRelationshipAction.java:133
String getSpLogoutURL()
Definition: GluuSAMLTrustRelationship.java:356
SvnSyncTimer svnSyncTimer
Definition: UpdateTrustRelationshipAction.java:142

◆ setAvailableEntities()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setAvailableEntities ( List< String >  availableEntities)
inline
1403  {
1405  this.availableEntities.addAll(availableEntities);
1406  }
List< String > availableEntitiesFiltered
Definition: UpdateTrustRelationshipAction.java:191
List< String > availableEntities
Definition: UpdateTrustRelationshipAction.java:178

◆ setCertWrapper()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setCertWrapper ( Part  certWrapper)
inline
1067  {
1068  this.certWrapper = certWrapper;
1069  }
Part certWrapper
Definition: UpdateTrustRelationshipAction.java:172

◆ setContainerFederation()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setContainerFederation ( SelectItem  federation)
inline
1337  {
1338  this.trustRelationship.setGluuContainerFederation(((GluuSAMLTrustRelationship) federation.getValue()).getDn());
1339  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void setGluuContainerFederation(String gluuContainerFederation)
Definition: GluuSAMLTrustRelationship.java:240

◆ setEntityId()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setEntityId ( )
inlineprivate

Sets entityId according to metadatafile. Works for all TR which have own metadata file.

著者
�Oleksiy Tataryn�
531  {
532 
533  String idpMetadataFolder = appConfiguration.getShibboleth3IdpRootDir() + File.separator
534  + Shibboleth3ConfService.SHIB3_IDP_METADATA_FOLDER + File.separator;
535  File metadataFile = new File(idpMetadataFolder + trustRelationship.getSpMetaDataFN());
536 
537  List<String> entityIdList = SAMLMetadataParser.getEntityIdFromMetadataFile(metadataFile);
538  Set<String> entityIdSet = new TreeSet<String>();
539 
540  if (entityIdList != null && !entityIdList.isEmpty()) {
541  Set<String> duplicatesSet = new TreeSet<String>();
542  for (String entityId : entityIdList) {
543  if (!entityIdSet.add(entityId)) {
544  duplicatesSet.add(entityId);
545  }
546  }
547  }
548 
549  this.trustRelationship.setGluuEntityId(entityIdSet);
550  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void setGluuEntityId(Set< String > gluuEntityId)
Definition: GluuSAMLTrustRelationship.java:172
AppConfiguration appConfiguration
Definition: UpdateTrustRelationshipAction.java:108
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364

◆ setFileWrapper()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setFileWrapper ( Part  fileWrapper)
inline
1059  {
1060  this.fileWrapper = fileWrapper;
1061  }
Part fileWrapper
Definition: UpdateTrustRelationshipAction.java:171

◆ setFilterString()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setFilterString ( String  filterString)
inline
1437  {
1438  this.filterString = filterString;
1439  }
String filterString
Definition: UpdateTrustRelationshipAction.java:181

◆ setInum()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setInum ( String  inum)
inline
1091  {
1092  this.inum = inum;
1093  }
String inum
Definition: UpdateTrustRelationshipAction.java:112

◆ setSelectedEntities()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setSelectedEntities ( String []  entities)
inline
1376  {
1377  if (entities != null && entities.length > 0) {
1378  this.trustRelationship.setEntityId(entities[0]);
1379  }
1380  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
void setEntityId(String entityId)
Definition: GluuSAMLTrustRelationship.java:195

◆ setSelectedTR()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.setSelectedTR ( String  trust)
inline
1332  {
1333  this.selectedTR = trust;
1335  }
void refreshCustomAttributes(List< GluuCustomAttribute > newCustomAttributes)
Definition: CustomAttributeAction.java:319
String selectedTR
Definition: UpdateTrustRelationshipAction.java:174
List< GluuCustomAttribute > getCurrentCustomAttributes()
Definition: UpdateTrustRelationshipAction.java:1071
CustomAttributeAction customAttributeAction
Definition: UpdateTrustRelationshipAction.java:163

◆ update()

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.update ( )
inline
239  {
240  if (this.trustRelationship != null) {
241  return OxTrustConstants.RESULT_SUCCESS;
242  }
243 
244  this.update = true;
245  try {
247  } catch (BasePersistenceException ex) {
248  log.error("Failed to find trust relationship {}", inum, ex);
249  }
250 
251  if (this.trustRelationship == null) {
252  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to update relationship");
253  conversationService.endConversation();
254 
255  return OxTrustConstants.RESULT_FAILURE;
256  }
257 
258  // this.fileWrapper.setFileName(this.trustRelationship.getSpMetaDataFN());
259 
260  boolean initActionsResult = initActions();
261  if (!initActionsResult) {
262  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to update relationship");
263  conversationService.endConversation();
264 
265  return OxTrustConstants.RESULT_FAILURE;
266  }
267 
268  return OxTrustConstants.RESULT_SUCCESS;
269  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
TrustService trustService
Definition: UpdateTrustRelationshipAction.java:130
ConversationService conversationService
Definition: UpdateTrustRelationshipAction.java:151
boolean initActions()
Definition: UpdateTrustRelationshipAction.java:452
String update()
Definition: UpdateTrustRelationshipAction.java:239
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String inum
Definition: UpdateTrustRelationshipAction.java:112

◆ updateShibboleth3Configuration()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.updateShibboleth3Configuration ( List< GluuSAMLTrustRelationship trustRelationships)
inlineprivate
758  {
759 
760  if (!shibboleth3ConfService.generateConfigurationFiles(trustRelationships)) {
761 
762  log.error("Failed to update Shibboleth v3 configuration");
763  facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to update Shibboleth v3 configuration");
764 
765  } else {
766 
767  log.info("Shibboleth v3 configuration updated successfully");
768  facesMessages.add(FacesMessage.SEVERITY_INFO, "Shibboleth v3 configuration updated successfully");
769  facesMessages.add(FacesMessage.SEVERITY_WARN,
770  "Please note it may take several minutes before new settings are actually loaded and applied by Shibboleth module!");
771  }
772  }
FacesMessages facesMessages
Definition: UpdateTrustRelationshipAction.java:148
boolean generateConfigurationFiles(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: Shibboleth3ConfService.java:177
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
Logger log
Definition: UpdateTrustRelationshipAction.java:105

◆ updateSpMetaDataCert()

void org.gluu.oxtrust.action.UpdateTrustRelationshipAction.updateSpMetaDataCert ( Part  certWrapper) throws IOException
inlineprivate
708  {
709  if ((certWrapper == null) || (certWrapper.getInputStream() == null)) {
710  return;
711  }
712 
713  String certificate = shibboleth3ConfService.getPublicCertificate(certWrapper.getInputStream());
714  if (certificate == null) {
715  return;
716  }
717  // This regex defines certificate enclosed in X509Certificate tags
718  // regardless of namespace(as long as it is not more then 9 characters)
719  String certRegEx = "(?ms)(?<=<[^</>]{0,10}X509Certificate>).*(?=</[^</>]{0,10}?X509Certificate>)";
720  try {
723 
724  String metadataFileName = this.trustRelationship.getSpMetaDataFN();
725  File metadataFile = new File(shibboleth3ConfService.getSpMetadataFilePath(metadataFileName));
726  String metadata = FileUtils.readFileToString(metadataFile);
727  String updatedMetadata = metadata.replaceFirst(certRegEx, certificate);
728  FileUtils.writeStringToFile(metadataFile, updatedMetadata);
729  this.trustRelationship.setStatus(GluuStatus.ACTIVE);
730  } catch (Exception e) {
731  log.error("Failed to update certificate", e);
732  }
733 
734  }
GluuSAMLTrustRelationship trustRelationship
Definition: UpdateTrustRelationshipAction.java:115
String getPublicCertificate(byte[] cert)
Definition: Shibboleth3ConfService.java:895
void saveKey(GluuSAMLTrustRelationship trustRelationship, String key)
Definition: Shibboleth3ConfService.java:1571
Part certWrapper
Definition: UpdateTrustRelationshipAction.java:172
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
void setStatus(GluuStatus status)
Definition: GluuSAMLTrustRelationship.java:392
Shibboleth3ConfService shibboleth3ConfService
Definition: UpdateTrustRelationshipAction.java:145
Logger log
Definition: UpdateTrustRelationshipAction.java:105
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
void saveCert(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:1532

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.action.UpdateTrustRelationshipAction.appConfiguration
private

◆ attributeService

AttributeService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.attributeService
private

◆ availableEntities

List<String> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.availableEntities
private

◆ availableEntitiesFiltered

List<String> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.availableEntitiesFiltered
private

◆ certWrapper

Part org.gluu.oxtrust.action.UpdateTrustRelationshipAction.certWrapper
private

◆ clientService

ClientService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.clientService
private

◆ conversationService

ConversationService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.conversationService
private

◆ customAttributeAction

CustomAttributeAction org.gluu.oxtrust.action.UpdateTrustRelationshipAction.customAttributeAction
private

◆ externalContext

transient ExternalContext org.gluu.oxtrust.action.UpdateTrustRelationshipAction.externalContext
private

◆ facesMessages

FacesMessages org.gluu.oxtrust.action.UpdateTrustRelationshipAction.facesMessages
private

◆ federatedSites

List<GluuSAMLTrustRelationship> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.federatedSites
private

◆ federationDeconstructionAction

FederationDeconstructionAction org.gluu.oxtrust.action.UpdateTrustRelationshipAction.federationDeconstructionAction
private

◆ fileWrapper

Part org.gluu.oxtrust.action.UpdateTrustRelationshipAction.fileWrapper
private

◆ filteredEntities

List<String> org.gluu.oxtrust.action.UpdateTrustRelationshipAction.filteredEntities
private

◆ filterString

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.filterString
private

◆ identity

Identity org.gluu.oxtrust.action.UpdateTrustRelationshipAction.identity
private

◆ inum

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.inum
private

◆ log

Logger org.gluu.oxtrust.action.UpdateTrustRelationshipAction.log
private

◆ metadataFiltersAction

MetadataFiltersAction org.gluu.oxtrust.action.UpdateTrustRelationshipAction.metadataFiltersAction
private

◆ metadataValidationTimer

MetadataValidationTimer org.gluu.oxtrust.action.UpdateTrustRelationshipAction.metadataValidationTimer
private

◆ NO_PARAM_SIGNATURE

final Class<?> [] org.gluu.oxtrust.action.UpdateTrustRelationshipAction.NO_PARAM_SIGNATURE = new Class[0]
staticpackage

◆ organizationService

OrganizationService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.organizationService
private

◆ oxTrustAuditService

OxTrustAuditService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.oxTrustAuditService
private

◆ relyingPartyAction

RelyingPartyAction org.gluu.oxtrust.action.UpdateTrustRelationshipAction.relyingPartyAction
private

◆ selectedTR

String org.gluu.oxtrust.action.UpdateTrustRelationshipAction.selectedTR
private

◆ serialVersionUID

final long org.gluu.oxtrust.action.UpdateTrustRelationshipAction.serialVersionUID = -1032167044333943680L
staticprivate

◆ shemaService

SchemaService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.shemaService
private

◆ shibboleth3ConfService

Shibboleth3ConfService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.shibboleth3ConfService
private

◆ sslService

SSLService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.sslService
private

◆ svnSyncTimer

SvnSyncTimer org.gluu.oxtrust.action.UpdateTrustRelationshipAction.svnSyncTimer
private

◆ templateService

TemplateService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.templateService
private

◆ trustContactsAction

TrustContactsAction org.gluu.oxtrust.action.UpdateTrustRelationshipAction.trustContactsAction
private

◆ trustRelationship

GluuSAMLTrustRelationship org.gluu.oxtrust.action.UpdateTrustRelationshipAction.trustRelationship
private

◆ trustService

TrustService org.gluu.oxtrust.action.UpdateTrustRelationshipAction.trustService
private

◆ update

boolean org.gluu.oxtrust.action.UpdateTrustRelationshipAction.update
private

このクラス詳解は次のファイルから抽出されました: