gluu
公開メンバ関数 | 変数 | 非公開メンバ関数 | 静的非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.api.saml.TrustRelationshipWebService クラス
org.gluu.oxtrust.api.saml.TrustRelationshipWebService 連携図
Collaboration graph

公開メンバ関数

 TrustRelationshipWebService ()
 
String read (@PathParam("inum") @NotNull String inum, @Context HttpServletResponse response)
 
String create (GluuSAMLTrustRelationship trustRelationship, @Context HttpServletResponse response)
 
void update (@PathParam("inum") @NotNull String inum, GluuSAMLTrustRelationship trustRelationship, @Context HttpServletResponse response)
 
void delete (@PathParam("inum") @NotNull String inum, @Context HttpServletResponse response)
 
String list (@Context HttpServletResponse response)
 
String listAllFederations (@Context HttpServletResponse response)
 
String listAllActiveTrustRelationships (@Context HttpServletResponse response)
 
String listAllOtherFederations (@PathParam("inum") String inum, @Context HttpServletResponse response)
 
String listAllSAMLTrustRelationships (@QueryParam("size_limit") int sizeLimit, @Context HttpServletResponse response)
 
String listDeconstructedTrustRelationships (@PathParam("inum") String inum, @Context HttpServletResponse response)
 
String searchTrustRelationships (@QueryParam("pattern") @NotNull String pattern, @QueryParam("size_limit") int sizeLimit, @Context HttpServletResponse response)
 
void setMetadata (@PathParam("inum") String trustRelationshipInum, @NotNull String metadata, @Context HttpServletResponse response)
 
void setMetadataURL (@PathParam("inum") String trustRelationshipInum, @NotNull String url, @Context HttpServletResponse response)
 
void addAttribute (@PathParam("inum") String trustRelationshipInum, @NotNull String attribute, @Context HttpServletResponse response)
 
String generateInumForNewTrustRelationship (@Context HttpServletResponse response)
 
String getContacts (@PathParam("inum") String trustRelationshipInum, @Context HttpServletResponse response)
 
void setContacts (@PathParam("inum") String trustRelationshipInum, String contacts, @Context HttpServletResponse response)
 
void setCertificate (@PathParam("inum") String trustRelationshipInum, String certificate, @Context HttpServletResponse response)
 
void removeAttribute (GluuAttribute attribute, @Context HttpServletResponse response)
 
void generateConfigurationFiles (@Context HttpServletResponse response)
 
boolean saveSpMetaDataFileSourceTypeURI (GluuSAMLTrustRelationship trustRelationship) throws IOException
 
String generateCertForGeneratedSP (GluuSAMLTrustRelationship trustRelationship) throws IOException
 

変数

ObjectMapper objectMapper
 

非公開メンバ関数

String saveTR (GluuSAMLTrustRelationship trustRelationship, String metadata, String certificate)
 
void saveTR (GluuSAMLTrustRelationship trustRelationship, boolean isUpdate)
 
void setEntityId (GluuSAMLTrustRelationship trustRelationship)
 
boolean saveSpMetaDataFileSourceTypeFile (GluuSAMLTrustRelationship trustRelationship, String inum, String metadata) throws IOException
 
boolean generateSpMetaDataFile (GluuSAMLTrustRelationship trustRelationship, String certificate)
 
void updateTRCertificate (GluuSAMLTrustRelationship trustRelationship, String certificate) throws IOException
 

静的非公開メンバ関数

static List< SAMLTrustRelationshipShortconvertTRtoTRShort (List< GluuSAMLTrustRelationship > trustRelationships)
 

非公開変数類

Logger logger
 
TrustService trustService
 
Identity identity
 
ClientService clientService
 
AppConfiguration appConfiguration
 
SvnSyncTimer svnSyncTimer
 
MetadataValidationTimer metadataValidationTimer
 
TrustContactsAction trustContactsAction
 
Shibboleth3ConfService shibboleth3ConfService
 

詳解

WS endpoint for TrustRelationship actions.

著者
Dmitry Ognyannikov

構築子と解体子

◆ TrustRelationshipWebService()

org.gluu.oxtrust.api.saml.TrustRelationshipWebService.TrustRelationshipWebService ( )
inline
121  {
122  // configure Jackson ObjectMapper
123  objectMapper = new ObjectMapper();
124  objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
125  }
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119

関数詳解

◆ addAttribute()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.addAttribute ( @PathParam("inum") String  trustRelationshipInum,
@NotNull String  attribute,
@Context HttpServletResponse  response 
)
inline
400  {
401  try {
402  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
403  List<String> attributes = trustRelationship.getReleasedAttributes();
404  for (String lAttr : attributes) {
405  if (attribute.equals(lAttr))
406  return; // Nothing to add
407  }
408 
409  attributes.add(attribute);
410  trustService.updateReleasedAttributes(trustRelationship);
411  } catch (Exception e) {
412  logger.error("addAttribute() Exception", e);
413  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
414  }
415  }
void updateReleasedAttributes(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:299
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
List< String > getReleasedAttributes()
Definition: GluuSAMLTrustRelationship.java:340
TrustService trustService
Definition: TrustRelationshipWebService.java:96
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ convertTRtoTRShort()

static List<SAMLTrustRelationshipShort> org.gluu.oxtrust.api.saml.TrustRelationshipWebService.convertTRtoTRShort ( List< GluuSAMLTrustRelationship trustRelationships)
inlinestaticprivate
929  {
930  ArrayList<SAMLTrustRelationshipShort> trustRelationshipsShort = new ArrayList<SAMLTrustRelationshipShort>();
931  trustRelationshipsShort.ensureCapacity(trustRelationships.size());
932 
933  for (GluuSAMLTrustRelationship tr : trustRelationships) {
934  trustRelationshipsShort.add(new SAMLTrustRelationshipShort(tr));
935  }
936  return trustRelationshipsShort;
937  }

◆ create()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.create ( GluuSAMLTrustRelationship  trustRelationship,
@Context HttpServletResponse  response 
)
inline
155  {
156  logger.trace("Create Trust Relationship");
157  try {
159  trustRelationship.setInum(inum);
160  String dn = trustService.getDnForTrustRelationShip(inum);
161  // Save trustRelationship
162  trustRelationship.setDn(dn);
163  saveTR(trustRelationship, false);
164  return inum;
165  } catch (Exception e) {
166  logger.error("create() Exception", e);
167  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
168  return null;
169  }
170  }
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String saveTR(GluuSAMLTrustRelationship trustRelationship, String metadata, String certificate)
Definition: TrustRelationshipWebService.java:538
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
String generateInumForNewTrustRelationship()
Definition: TrustService.java:241
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ delete()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.delete ( @PathParam("inum") @NotNull String  inum,
@Context HttpServletResponse  response 
)
inline
199  {
200  logger.trace("Delete Trust Relationship");
201  try {
202  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(inum);
203  trustService.removeTrustRelationship(trustRelationship);
204  } catch (Exception e) {
205  logger.error("delete() Exception", e);
206  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
207  }
208  }
void removeTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:140
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
TrustService trustService
Definition: TrustRelationshipWebService.java:96
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ generateCertForGeneratedSP()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.generateCertForGeneratedSP ( GluuSAMLTrustRelationship  trustRelationship) throws IOException
inline
戻り値
certificate for generated SP
例外
IOException
CertificateEncodingException
825  {
826  X509Certificate cert = null;
827 
828  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate.");
829  if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
830  Security.addProvider(new BouncyCastleProvider());
831  }
832 
833  try {
834  KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA", "BC");
835  keyPairGen.initialize(2048);
836  KeyPair pair = keyPairGen.generateKeyPair();
837  StringWriter keyWriter = new StringWriter();
838  PEMWriter pemFormatWriter = new PEMWriter(keyWriter);
839  pemFormatWriter.writeObject(pair.getPrivate());
840  pemFormatWriter.close();
841 
842  String url = trustRelationship.getUrl().replaceFirst(".*//", "");
843 
844  X509v3CertificateBuilder v3CertGen = new JcaX509v3CertificateBuilder(new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"),
845  BigInteger.valueOf(new SecureRandom().nextInt()),
846  new Date(System.currentTimeMillis() - 1000L * 60 * 60 * 24 * 30),
847  new Date(System.currentTimeMillis() + (1000L * 60 * 60 * 24 * 365*10)),
848  new X500Name("CN=" + url + ", OU=None, O=None L=None, C=None"),
849  pair.getPublic());
850 
851  cert = new JcaX509CertificateConverter().setProvider("BC").getCertificate(v3CertGen.build(new JcaContentSignerBuilder("MD5withRSA").setProvider("BC").build(pair.getPrivate())));
852  org.apache.commons.codec.binary.Base64 encoder = new org.apache.commons.codec.binary.Base64(64);
853  byte[] derCert = cert.getEncoded();
854  String pemCertPre = new String(encoder.encode(derCert));
855  logger.debug(Shibboleth3ConfService.PUBLIC_CERTIFICATE_START_LINE);
856  logger.debug(pemCertPre);
857  logger.debug(Shibboleth3ConfService.PUBLIC_CERTIFICATE_END_LINE);
858 
859  shibboleth3ConfService.saveCert(trustRelationship, pemCertPre);
860  shibboleth3ConfService.saveKey(trustRelationship, keyWriter.toString());
861 
862  } catch (Exception e) {
863  e.printStackTrace();
864  logger.error("Failed to generate certificate", e);
865  }
866 
867 // String certName = appConfiguration.getCertDir() + File.separator + StringHelper.removePunctuation(appConfiguration.getOrgInum())
868 // + "-shib.crt";
869 // File certFile = new File(certName);
870 // if (certFile.exists()) {
871 // cert = SSLService.instance().getPEMCertificate(certName);
872 // }
873 
874 
875  String certificate = null;
876 
877  if (cert != null) {
878 
879  try {
880  certificate = new String(Base64.encode(cert.getEncoded()));
881 
882  logger.info("##### certificate = " + certificate);
883 
884  } catch (CertificateEncodingException e) {
885  certificate = null;
886  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to encode provided certificate. Please notify Gluu support about this.");
887  logger.error("Failed to encode certificate to DER", e);
888  }
889 
890  } else {
891  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Certificate were not provided, or was incorrect. Appliance will create a self-signed certificate.");
892  }
893 
894  return certificate;
895  }
void saveKey(GluuSAMLTrustRelationship trustRelationship, String key)
Definition: Shibboleth3ConfService.java:1571
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
Logger logger
Definition: TrustRelationshipWebService.java:93
void saveCert(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:1532

◆ generateConfigurationFiles()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.generateConfigurationFiles ( @Context HttpServletResponse  response)
inline
515  {
516  try {
517  List<GluuSAMLTrustRelationship> trustRelationships = trustService.getAllActiveTrustRelationships();
518  if (!shibboleth3ConfService.generateConfigurationFiles(trustRelationships)) {
519  logger.error("Failed to update Shibboleth v3 configuration by web API request");
520  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
521  } else {
522  logger.info("Shibboleth v3 configuration updated successfully by web API request");
523  }
524  } catch (Exception e) {
525  logger.error("Failed to generateConfigurationFiles", e);
526  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
527  }
528  }
boolean generateConfigurationFiles(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: Shibboleth3ConfService.java:177
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ generateInumForNewTrustRelationship()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.generateInumForNewTrustRelationship ( @Context HttpServletResponse  response)
inline
423  {
424  try {
426  } catch (Exception e) {
427  logger.error("generateInumForNewTrustRelationship() Exception", e);
428  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
429  return OxTrustConstants.RESULT_FAILURE;
430  }
431  }
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String generateInumForNewTrustRelationship()
Definition: TrustService.java:241
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ generateSpMetaDataFile()

boolean org.gluu.oxtrust.api.saml.TrustRelationshipWebService.generateSpMetaDataFile ( GluuSAMLTrustRelationship  trustRelationship,
String  certificate 
)
inlineprivate
897  {
898  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
899 
900  if (StringHelper.isEmpty(spMetadataFileName)) {
901  // Generate new file name
902  spMetadataFileName = shibboleth3ConfService.getSpNewMetadataFileName(trustRelationship);
903  trustRelationship.setSpMetaDataFN(spMetadataFileName);
904  }
905 
906  return shibboleth3ConfService.generateSpMetadataFile(trustRelationship, certificate);
907  }
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
boolean generateSpMetadataFile(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:813
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703

◆ getContacts()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.getContacts ( @PathParam("inum") String  trustRelationshipInum,
@Context HttpServletResponse  response 
)
inline
436  {
437  try {
438  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
439  List<TrustContact> list = trustService.getContacts(trustRelationship);
440  //convert to JSON
441  return objectMapper.writeValueAsString(list);
442  } catch (Exception e) {
443  logger.error("getContacts() Exception", e);
444  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
445  return OxTrustConstants.RESULT_FAILURE;
446  }
447  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
List< TrustContact > getContacts(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:361
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String list(@Context HttpServletResponse response)
Definition: TrustRelationshipWebService.java:217
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ list()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.list ( @Context HttpServletResponse  response)
inline
217  {
218  try {
219  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getAllTrustRelationships());
220  //convert to JSON
221  return objectMapper.writeValueAsString(trustRelationships);
222  } catch (Exception e) {
223  logger.error("list() Exception", e);
224  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
225  return null;
226  }
227  }
List< GluuSAMLTrustRelationship > getAllTrustRelationships()
Definition: TrustService.java:198
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ listAllActiveTrustRelationships()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.listAllActiveTrustRelationships ( @Context HttpServletResponse  response)
inline
253  {
254  try {
255  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getAllActiveTrustRelationships());
256  //convert to JSON
257  return objectMapper.writeValueAsString(trustRelationships);
258  } catch (Exception e) {
259  logger.error("listAllActiveTrustRelationships() Exception", e);
260  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
261  return OxTrustConstants.RESULT_FAILURE;
262  }
263  }
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ listAllFederations()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.listAllFederations ( @Context HttpServletResponse  response)
inline
235  {
236  try {
237  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getAllFederations());
238  //convert to JSON
239  return objectMapper.writeValueAsString(trustRelationships);
240  } catch (Exception e) {
241  logger.error("listAllFederations() Exception", e);
242  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
243  return OxTrustConstants.RESULT_FAILURE;
244  }
245  }
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > getAllFederations()
Definition: TrustService.java:210
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ listAllOtherFederations()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.listAllOtherFederations ( @PathParam("inum") String  inum,
@Context HttpServletResponse  response 
)
inline
271  {
272  try {
273  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getAllOtherFederations(inum));
274  //convert to JSON
275  return objectMapper.writeValueAsString(trustRelationships);
276  } catch (Exception e) {
277  logger.error("listAllOtherFederations() Exception", e);
278  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
279  return OxTrustConstants.RESULT_FAILURE;
280  }
281  }
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > getAllOtherFederations(String inum)
Definition: TrustService.java:221
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ listAllSAMLTrustRelationships()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.listAllSAMLTrustRelationships ( @QueryParam("size_limit") int  sizeLimit,
@Context HttpServletResponse  response 
)
inline
289  {
290  try {
291  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getAllSAMLTrustRelationships(sizeLimit));
292  //convert to JSON
293  return objectMapper.writeValueAsString(trustRelationships);
294  } catch (Exception e) {
295  logger.error("listAllSAMLTrustRelationships() Exception", e);
296  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
297  return OxTrustConstants.RESULT_FAILURE;
298  }
299  }
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > getAllSAMLTrustRelationships(int sizeLimit)
Definition: TrustService.java:448
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ listDeconstructedTrustRelationships()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.listDeconstructedTrustRelationships ( @PathParam("inum") String  inum,
@Context HttpServletResponse  response 
)
inline
307  {
308  try {
309  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(inum);
310  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.getDeconstructedTrustRelationships(trustRelationship));
311  //convert to JSON
312  return objectMapper.writeValueAsString(trustRelationships);
313  } catch (Exception e) {
314  logger.error("listAllActiveTrustRelationships() Exception", e);
315  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
316  return OxTrustConstants.RESULT_FAILURE;
317  }
318  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93
List< GluuSAMLTrustRelationship > getDeconstructedTrustRelationships(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:406

◆ read()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.read ( @PathParam("inum") @NotNull String  inum,
@Context HttpServletResponse  response 
)
inline
134  {
135  logger.trace("Read Trust Relationship");
136  try {
137  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(inum);
138  // convert to JSON
139  return objectMapper.writeValueAsString(trustRelationship);
140  } catch (Exception e) {
141  logger.error("read() Exception", e);
142  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
143  return null;
144  }
145  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
TrustService trustService
Definition: TrustRelationshipWebService.java:96
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ removeAttribute()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.removeAttribute ( GluuAttribute  attribute,
@Context HttpServletResponse  response 
)
inline
498  {
499  try {
500  trustService.removeAttribute(attribute);
501  } catch (Exception e) {
502  logger.error("Failed to remove attribute", e);
503  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
504  }
505  }
TrustService trustService
Definition: TrustRelationshipWebService.java:96
boolean removeAttribute(GluuAttribute attribute)
Definition: TrustService.java:458
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ saveSpMetaDataFileSourceTypeFile()

boolean org.gluu.oxtrust.api.saml.TrustRelationshipWebService.saveSpMetaDataFileSourceTypeFile ( GluuSAMLTrustRelationship  trustRelationship,
String  inum,
String  metadata 
) throws IOException
inlineprivate
770  {
771  logger.trace("Saving metadata file source type: File");
772  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
773  boolean emptySpMetadataFileName = StringHelper.isEmpty(spMetadataFileName);
774 
775  if (StringHelper.isEmpty(metadata)) {
776  if (emptySpMetadataFileName) {
777  return false;
778  }
779 
780  // Admin doesn't provide new file. Check if we already has this file
781  String filePath = shibboleth3ConfService.getSpMetadataFilePath(spMetadataFileName);
782  if (filePath == null) {
783  return false;
784  }
785 
786  File file = new File(filePath);
787  if (!file.exists()) {
788  return false;
789  }
790 
791  // File already exist
792  return true;
793  }
794 
795  if (emptySpMetadataFileName) {
796  // Generate new file name
797  spMetadataFileName = shibboleth3ConfService.getSpNewMetadataFileName(trustRelationship);
798  trustRelationship.setSpMetaDataFN(spMetadataFileName);
799  if (trustRelationship.getDn() == null) {
800  String dn = trustService.getDnForTrustRelationShip(inum);
801  trustRelationship.setDn(dn);
802  trustService.addTrustRelationship(trustRelationship);
803  } else {
804  trustService.updateTrustRelationship(trustRelationship);
805  }
806  }
807  String result = shibboleth3ConfService.saveSpMetadataFile(spMetadataFileName, new CharSequenceInputStream(metadata, StandardCharsets.UTF_8));
808  if (StringHelper.isNotEmpty(result)) {
810  } else {
811  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to save SP meta-data file. Please check if you provide correct file");
812  }
813 
814  return StringHelper.isNotEmpty(result);
815 
816  }
void addTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:81
MetadataValidationTimer metadataValidationTimer
Definition: TrustRelationshipWebService.java:111
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
Logger logger
Definition: TrustRelationshipWebService.java:93
void queue(String fileName)
Definition: MetadataValidationTimer.java:123

◆ saveSpMetaDataFileSourceTypeURI()

boolean org.gluu.oxtrust.api.saml.TrustRelationshipWebService.saveSpMetaDataFileSourceTypeURI ( GluuSAMLTrustRelationship  trustRelationship) throws IOException
inline
751  {
752  String spMetadataFileName = trustRelationship.getSpMetaDataFN();
753  boolean emptySpMetadataFileName = StringHelper.isEmpty(spMetadataFileName);
754 
755  if (emptySpMetadataFileName) {
756  // Generate new file name
757  spMetadataFileName = shibboleth3ConfService.getSpNewMetadataFileName(trustRelationship);
758  }
759 
760  String result = shibboleth3ConfService.saveSpMetadataFile(trustRelationship.getSpMetaDataURL(), spMetadataFileName);
761  if (StringHelper.isNotEmpty(result)) {
763  } else {
764  logger.error("Failed to download metadata");
765  }
766 
767  return StringHelper.isNotEmpty(result);
768  }
MetadataValidationTimer metadataValidationTimer
Definition: TrustRelationshipWebService.java:111
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
Logger logger
Definition: TrustRelationshipWebService.java:93
void queue(String fileName)
Definition: MetadataValidationTimer.java:123

◆ saveTR() [1/2]

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.saveTR ( GluuSAMLTrustRelationship  trustRelationship,
String  metadata,
String  certificate 
)
inlineprivate

Save SAML TrustRelationship.

引数
trustRelationship
metadata- need for FILE type TR only
certificate- need for FILE type TR, optional for GENERATE type TR
戻り値
538  {
539  String inum;
540  boolean update = false;
541  synchronized (svnSyncTimer) {
542  if (StringHelper.isEmpty(trustRelationship.getInum())) {
544  trustRelationship.setInum(inum);
545  } else {
546  inum = trustRelationship.getInum();
547  if(trustRelationship.getSpMetaDataFN() == null )
548  update=true;
549  }
550 
551  boolean updateShib3Configuration = appConfiguration.isConfigGeneration();
552  switch (trustRelationship.getSpMetaDataSourceType()) {
553  case GENERATE:
554  try {
555  if (StringHelper.isEmpty(certificate))
556  certificate = generateCertForGeneratedSP(trustRelationship);
557  GluuStatus status = StringHelper.isNotEmpty(certificate) ? GluuStatus.ACTIVE : GluuStatus.INACTIVE;
558  trustRelationship.setStatus(status);
559  if (generateSpMetaDataFile(trustRelationship, certificate)) {
560  setEntityId(trustRelationship);
561  } else {
562  logger.error("Failed to generate SP meta-data file");
563  return OxTrustConstants.RESULT_FAILURE;
564  }
565  } catch (IOException ex) {
566  logger.error("Failed to download SP certificate", ex);
567 
568  return OxTrustConstants.RESULT_FAILURE;
569  }
570 
571  break;
572  case FILE:
573  try {
574  if (saveSpMetaDataFileSourceTypeFile(trustRelationship, inum, metadata)) {
575  //update = true;
576  updateTRCertificate(trustRelationship, certificate);
577 // setEntityId();
578  if(!update){
579  trustRelationship.setStatus(GluuStatus.ACTIVE);
580  }
581  } else {
582  logger.error("Failed to save SP metadata file {}", metadata);
583  return OxTrustConstants.RESULT_FAILURE;
584  }
585  } catch (IOException ex) {
586  logger.error("Failed to download SP metadata", ex);
587  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Failed to download SP metadata");
588 
589  return OxTrustConstants.RESULT_FAILURE;
590  }
591 
592  break;
593  case URI:
594  try {
595  //if (saveSpMetaDataFileSourceTypeURI()) {
596 // setEntityId();
597  boolean result = shibboleth3ConfService.existsResourceUri(trustRelationship.getSpMetaDataURL());
598  if(result){
599  saveSpMetaDataFileSourceTypeURI(trustRelationship);
600  }else{
601  logger.info("There is no resource found Uri : {}", trustRelationship.getSpMetaDataURL());
602  }
603  if(!update){
604  trustRelationship.setStatus(GluuStatus.ACTIVE);
605  }
606  /*} else {
607  log.error("Failed to save SP meta-data file {}", fileWrapper);
608  return OxTrustConstants.RESULT_FAILURE;
609  }*/
610  } catch (Exception e) {
611  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "Unable to download metadata");
612  return "unable_download_metadata";
613  }
614  break;
615  case FEDERATION:
616  if(!update){
617  trustRelationship.setStatus(GluuStatus.ACTIVE);
618  }
619  if (trustRelationship.getEntityId() == null) {
620  //facesMessages.add(FacesMessage.SEVERITY_ERROR, "EntityID must be set to a value");
621  return "invalid_entity_id";
622  }
623 
624  break;
625  default:
626 
627  break;
628  }
629 
630  trustService.updateReleasedAttributes(trustRelationship);
631 
632  // We call it from TR validation timer
633  if (trustRelationship.getSpMetaDataSourceType().equals(GluuMetadataSourceType.GENERATE)
634  || (trustRelationship.getSpMetaDataSourceType().equals(GluuMetadataSourceType.FEDERATION))) {
635  boolean federation = shibboleth3ConfService.isFederation(trustRelationship);
636  trustRelationship.setFederation(federation);
637  }
638 
640 
641  if (update) {
642  try {
643  saveTR(trustRelationship, update);
644  } catch (BasePersistenceException ex) {
645  logger.error("Failed to update trust relationship {}", inum, ex);
646  return OxTrustConstants.RESULT_FAILURE;
647  }
648  } else {
649  String dn = trustService.getDnForTrustRelationShip(inum);
650  // Save trustRelationship
651  trustRelationship.setDn(dn);
652  try {
653  saveTR(trustRelationship, update);
654  } catch (BasePersistenceException ex) {
655  logger.error("Failed to add new trust relationship {}", trustRelationship.getInum(), ex);
656  return OxTrustConstants.RESULT_FAILURE;
657  }
658 
659  update = true;
660  }
661 
662  if (updateShib3Configuration) {
663  List<GluuSAMLTrustRelationship> trustRelationships = trustService.getAllActiveTrustRelationships();
664  if (!shibboleth3ConfService.generateConfigurationFiles(trustRelationships)) {
665  logger.error("Failed to update Shibboleth v3 configuration");
666  return "Failed to update Shibboleth v3 configuration";
667  } else {
668  logger.info("Shibboleth v3 configuration updated successfully");
669  return "Shibboleth v3 configuration updated successfully";
670  }
671  }
672  }
673  return OxTrustConstants.RESULT_SUCCESS;
674  }
void updateReleasedAttributes(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:299
boolean existsResourceUri(String URLName)
Definition: Shibboleth3ConfService.java:1422
boolean generateConfigurationFiles(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: Shibboleth3ConfService.java:177
AppConfiguration appConfiguration
Definition: TrustRelationshipWebService.java:105
TrustContactsAction trustContactsAction
Definition: TrustRelationshipWebService.java:114
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
void setEntityId(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustRelationshipWebService.java:732
TrustService trustService
Definition: TrustRelationshipWebService.java:96
boolean generateSpMetaDataFile(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: TrustRelationshipWebService.java:897
List< GluuSAMLTrustRelationship > getAllActiveTrustRelationships()
Definition: TrustService.java:202
String saveTR(GluuSAMLTrustRelationship trustRelationship, String metadata, String certificate)
Definition: TrustRelationshipWebService.java:538
String generateCertForGeneratedSP(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustRelationshipWebService.java:825
void update(@PathParam("inum") @NotNull String inum, GluuSAMLTrustRelationship trustRelationship, @Context HttpServletResponse response)
Definition: TrustRelationshipWebService.java:180
boolean saveSpMetaDataFileSourceTypeURI(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustRelationshipWebService.java:751
boolean saveSpMetaDataFileSourceTypeFile(GluuSAMLTrustRelationship trustRelationship, String inum, String metadata)
Definition: TrustRelationshipWebService.java:770
boolean isFederation(GluuSAMLTrustRelationship trustRelationship)
Definition: Shibboleth3ConfService.java:1523
void saveContacts()
Definition: TrustContactsAction.java:64
void updateTRCertificate(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: TrustRelationshipWebService.java:909
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
String generateInumForNewTrustRelationship()
Definition: TrustService.java:241
SvnSyncTimer svnSyncTimer
Definition: TrustRelationshipWebService.java:108
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ saveTR() [2/2]

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.saveTR ( GluuSAMLTrustRelationship  trustRelationship,
boolean  isUpdate 
)
inlineprivate
677  {
678  logger.trace("Saving Trust Relationship");
679  if (isUpdate) {
680  String oldLogoutRedirectUri = trustService.getRelationshipByDn(trustRelationship.getDn()).getSpLogoutURL();
681  String newLogoutRedirectUri = trustRelationship.getSpLogoutURL();
682  boolean oxClientUpdateNeeded = (oldLogoutRedirectUri != null) && (newLogoutRedirectUri != null) &&
683  !newLogoutRedirectUri.equals(oldLogoutRedirectUri);
684 
685  boolean parentInactive = trustRelationship.getStatus().equals(GluuStatus.INACTIVE);
686 // if(! federatedSites.isEmpty()){
687 // for (GluuSAMLTrustRelationship trust : federatedSites) {
688 // if (parentInactive) {
689 // trust.setStatus(GluuStatus.INACTIVE);
690 // }
691 // trustService.updateReleasedAttributes(trust);
692 // trustService.updateTrustRelationship(trust);
693 // svnSyncTimer.updateTrustRelationship(trust, identity.getCredentials().getUsername());
694 // }
695 // }
696  trustService.updateTrustRelationship(trustRelationship);
697 
698 
699  if(oxClientUpdateNeeded){
700  OxAuthClient client = clientService.getClientByInum(appConfiguration.getOxAuthClientId());
701  Set<String> updatedLogoutRedirectUris = new HashSet<String>();
702  List<GluuSAMLTrustRelationship> trs = trustService.getAllTrustRelationships();
703  if(trs != null && ! trs.isEmpty()){
704  for(GluuSAMLTrustRelationship tr: trs){
705  String logoutRedirectUri = tr.getSpLogoutURL();
706  if(logoutRedirectUri != null && ! logoutRedirectUri.isEmpty()){
707  updatedLogoutRedirectUris.add(logoutRedirectUri);
708  }
709  }
710  }
711  if(updatedLogoutRedirectUris.isEmpty()){
712  client.setPostLogoutRedirectUris(null);
713  }else{
714  client.setPostLogoutRedirectUris(updatedLogoutRedirectUris.toArray(new String[0]));
715  }
716  clientService.updateClient(client);
717  }
718 
719  svnSyncTimer.updateTrustRelationship(trustRelationship, identity.getCredentials().getUsername());
720  } else {
721  trustService.addTrustRelationship(trustRelationship);
722  svnSyncTimer.addTrustRelationship(trustRelationship, identity.getCredentials().getUsername());
723  }
724  }
ClientService clientService
Definition: TrustRelationshipWebService.java:102
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
AppConfiguration appConfiguration
Definition: TrustRelationshipWebService.java:105
TrustService trustService
Definition: TrustRelationshipWebService.java:96
GluuSAMLTrustRelationship getRelationshipByDn(String dn)
Definition: TrustService.java:173
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
Identity identity
Definition: TrustRelationshipWebService.java:99
String getSpLogoutURL()
Definition: GluuSAMLTrustRelationship.java:356
SvnSyncTimer svnSyncTimer
Definition: TrustRelationshipWebService.java:108
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ searchTrustRelationships()

String org.gluu.oxtrust.api.saml.TrustRelationshipWebService.searchTrustRelationships ( @QueryParam("pattern") @NotNull String  pattern,
@QueryParam("size_limit") int  sizeLimit,
@Context HttpServletResponse  response 
)
inline
326  {
327  try {
328  List<SAMLTrustRelationshipShort> trustRelationships = convertTRtoTRShort(trustService.searchSAMLTrustRelationships(pattern, sizeLimit));
329  //convert to JSON
330  return objectMapper.writeValueAsString(trustRelationships);
331  } catch (Exception e) {
332  logger.error("searchTrustRelationships() Exception", e);
333  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
334  return OxTrustConstants.RESULT_FAILURE;
335  }
336  }
static List< SAMLTrustRelationshipShort > convertTRtoTRShort(List< GluuSAMLTrustRelationship > trustRelationships)
Definition: TrustRelationshipWebService.java:929
TrustService trustService
Definition: TrustRelationshipWebService.java:96
List< GluuSAMLTrustRelationship > searchSAMLTrustRelationships(String pattern, int sizeLimit)
Definition: TrustService.java:435
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ setCertificate()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.setCertificate ( @PathParam("inum") String  trustRelationshipInum,
String  certificate,
@Context HttpServletResponse  response 
)
inline
478  {
479  try {
480  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
481 
482  if (StringHelper.isEmpty(certificate)) {
483  logger.error("Failed to update TR certificate - certificate is empty");
484  return;
485  }
486 
487  updateTRCertificate(trustRelationship, certificate);
488  } catch (Exception e) {
489  logger.error("Failed to update certificate", e);
490  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
491  }
492  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
TrustService trustService
Definition: TrustRelationshipWebService.java:96
void updateTRCertificate(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: TrustRelationshipWebService.java:909
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ setContacts()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.setContacts ( @PathParam("inum") String  trustRelationshipInum,
String  contacts,
@Context HttpServletResponse  response 
)
inline
457  {
458  try {
459  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
460 
461  List<TrustContact> contactsList = objectMapper.readValue(contacts, new TypeReference<List<TrustContact>>() {});
462 
463  trustService.saveContacts(trustRelationship, contactsList);
464  } catch (Exception e) {
465  logger.error("setContacts() Exception", e);
466  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
467  }
468  }
void saveContacts(GluuSAMLTrustRelationship trustRelationship, List< TrustContact > contacts)
Definition: TrustService.java:372
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
TrustService trustService
Definition: TrustRelationshipWebService.java:96
ObjectMapper objectMapper
Definition: TrustRelationshipWebService.java:119
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ setEntityId()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.setEntityId ( GluuSAMLTrustRelationship  trustRelationship)
inlineprivate

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

著者
�Oleksiy Tataryn�
732  {
733  String idpMetadataFolder = appConfiguration.getShibboleth3IdpRootDir() + File.separator + Shibboleth3ConfService.SHIB3_IDP_METADATA_FOLDER + File.separator;
734  File metadataFile = new File(idpMetadataFolder + trustRelationship.getSpMetaDataFN());
735 
736  List<String> entityIdList = SAMLMetadataParser.getEntityIdFromMetadataFile(metadataFile);
737  Set<String> entityIdSet = new TreeSet<String>();
738 
739  if(entityIdList != null && ! entityIdList.isEmpty()){
740  Set<String> duplicatesSet = new TreeSet<String>();
741  for (String entityId : entityIdList) {
742  if (!entityIdSet.add(entityId)) {
743  duplicatesSet.add(entityId);
744  }
745  }
746  }
747 
748  trustRelationship.setGluuEntityId(entityIdSet);
749  }
AppConfiguration appConfiguration
Definition: TrustRelationshipWebService.java:105

◆ setMetadata()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.setMetadata ( @PathParam("inum") String  trustRelationshipInum,
@NotNull String  metadata,
@Context HttpServletResponse  response 
)
inline
345  {
346  try {
347  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
348 
349  String metadataFileName = trustRelationship.getSpMetaDataFN();
350  if (StringHelper.isEmpty(metadataFileName)) {
351  // Generate new file name
352  metadataFileName = shibboleth3ConfService.getSpNewMetadataFileName(trustRelationshipInum);
353  }
354  shibboleth3ConfService.saveSpMetadataFile(metadataFileName, metadata.getBytes("UTF8"));
355 
356  trustRelationship.setSpMetaDataFN(metadataFileName);
357  trustRelationship.setSpMetaDataSourceType(GluuMetadataSourceType.FILE);
358  trustService.updateTrustRelationship(trustRelationship);
359  } catch (Exception e) {
360  logger.error("addMetadata() Exception", e);
361  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
362  }
363  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ setMetadataURL()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.setMetadataURL ( @PathParam("inum") String  trustRelationshipInum,
@NotNull String  url,
@Context HttpServletResponse  response 
)
inline
372  {
373  try {
374  GluuSAMLTrustRelationship trustRelationship = trustService.getRelationshipByInum(trustRelationshipInum);
375 
376  String metadataFileName = trustRelationship.getSpMetaDataFN();
377  if (StringHelper.isEmpty(metadataFileName)) {
378  // Generate new file name
379  metadataFileName = shibboleth3ConfService.getSpNewMetadataFileName(trustRelationshipInum);
380  }
381 
382  shibboleth3ConfService.saveSpMetadataFile(url, metadataFileName);
383 
384  trustRelationship.setSpMetaDataFN(metadataFileName);
385  trustRelationship.setSpMetaDataSourceType(GluuMetadataSourceType.FILE);
386  trustService.updateTrustRelationship(trustRelationship);
387  } catch (Exception e) {
388  logger.error("addMetadata() Exception", e);
389  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
390  }
391  }
GluuSAMLTrustRelationship getRelationshipByInum(String inum)
Definition: TrustService.java:163
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
TrustService trustService
Definition: TrustRelationshipWebService.java:96
String saveSpMetadataFile(String spMetadataFileName, byte[] data)
Definition: Shibboleth3ConfService.java:713
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
String getSpNewMetadataFileName(GluuSAMLTrustRelationship trustRel)
Definition: Shibboleth3ConfService.java:703
String getSpMetaDataFN()
Definition: GluuSAMLTrustRelationship.java:364
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ update()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.update ( @PathParam("inum") @NotNull String  inum,
GluuSAMLTrustRelationship  trustRelationship,
@Context HttpServletResponse  response 
)
inline
180  {
181  logger.trace("Update Trust Relationship");
182  try {
183  String dn = trustService.getDnForTrustRelationShip(inum);
184  trustRelationship.setDn(dn);
185  trustService.updateTrustRelationship(trustRelationship);
186  } catch (Exception e) {
187  logger.error("update() Exception", e);
188  try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "INTERNAL SERVER ERROR"); } catch (Exception ex) {}
189  }
190  }
TrustService trustService
Definition: TrustRelationshipWebService.java:96
void updateTrustRelationship(GluuSAMLTrustRelationship trustRelationship)
Definition: TrustService.java:111
String getDnForTrustRelationShip(String inum)
Definition: TrustService.java:290
Logger logger
Definition: TrustRelationshipWebService.java:93

◆ updateTRCertificate()

void org.gluu.oxtrust.api.saml.TrustRelationshipWebService.updateTRCertificate ( GluuSAMLTrustRelationship  trustRelationship,
String  certificate 
) throws IOException
inlineprivate
909  {
910  if (StringHelper.isEmpty(certificate)) {
911  logger.error("Failed to update TR certificate - certificate is empty");
912  return;
913  }
914  // This regex defines certificate enclosed in X509Certificate tags
915  // regardless of namespace(as long as it is not more then 9 characters)
916  String certRegEx = "(?ms)(?<=<[^</>]{0,10}X509Certificate>).*(?=</[^</>]{0,10}?X509Certificate>)";
917 
918  shibboleth3ConfService.saveCert(trustRelationship, certificate);
919  shibboleth3ConfService.saveKey(trustRelationship, null);
920 
921  String metadataFileName = trustRelationship.getSpMetaDataFN();
922  File metadataFile = new File(shibboleth3ConfService.getSpMetadataFilePath(metadataFileName));
923  String metadata = FileUtils.readFileToString(metadataFile);
924  String updatedMetadata = metadata.replaceFirst(certRegEx, certificate);
925  FileUtils.writeStringToFile(metadataFile, updatedMetadata);
926  trustRelationship.setStatus(GluuStatus.ACTIVE);
927  }
void saveKey(GluuSAMLTrustRelationship trustRelationship, String key)
Definition: Shibboleth3ConfService.java:1571
Shibboleth3ConfService shibboleth3ConfService
Definition: TrustRelationshipWebService.java:117
String getSpMetadataFilePath(String spMetaDataFN)
Definition: Shibboleth3ConfService.java:692
Logger logger
Definition: TrustRelationshipWebService.java:93
void saveCert(GluuSAMLTrustRelationship trustRelationship, String certificate)
Definition: Shibboleth3ConfService.java:1532

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.api.saml.TrustRelationshipWebService.appConfiguration
private

◆ clientService

ClientService org.gluu.oxtrust.api.saml.TrustRelationshipWebService.clientService
private

◆ identity

Identity org.gluu.oxtrust.api.saml.TrustRelationshipWebService.identity
private

◆ logger

Logger org.gluu.oxtrust.api.saml.TrustRelationshipWebService.logger
private

◆ metadataValidationTimer

MetadataValidationTimer org.gluu.oxtrust.api.saml.TrustRelationshipWebService.metadataValidationTimer
private

◆ objectMapper

ObjectMapper org.gluu.oxtrust.api.saml.TrustRelationshipWebService.objectMapper
package

◆ shibboleth3ConfService

Shibboleth3ConfService org.gluu.oxtrust.api.saml.TrustRelationshipWebService.shibboleth3ConfService
private

◆ svnSyncTimer

SvnSyncTimer org.gluu.oxtrust.api.saml.TrustRelationshipWebService.svnSyncTimer
private

◆ trustContactsAction

TrustContactsAction org.gluu.oxtrust.api.saml.TrustRelationshipWebService.trustContactsAction
private

◆ trustService

TrustService org.gluu.oxtrust.api.saml.TrustRelationshipWebService.trustService
private

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