use of org.opensaml.saml2.metadata.provider.MetadataProvider in project open-kilda by telstra.
the class SamlMetadataManager method addProviderToMetadataManager.
/**
* adds the provider to metadata manager.
*
* @param metadataProvider the metadataProvider.
*/
private void addProviderToMetadataManager(MetadataProvider metadataProvider) {
List<MetadataProvider> providers = metadataManager.getProviders();
ExtendedMetadata extMeta = new ExtendedMetadata();
extMeta.setIdpDiscoveryEnabled(false);
extMeta.setSignMetadata(false);
ExtendedMetadataDelegate delegate = new ExtendedMetadataDelegate(metadataProvider, extMeta);
delegate.setMetadataTrustCheck(false);
delegate.setMetadataRequireSignature(false);
try {
delegate.initialize();
providers.add(delegate);
metadataManager.setProviders(providers);
metadataManager.refreshMetadata();
} catch (MetadataProviderException e) {
LOGGER.error("Error occurred while adding provider to metadata manager" + e);
}
}
use of org.opensaml.saml2.metadata.provider.MetadataProvider in project open-kilda by telstra.
the class SamlMetadataManager method updateProviderToMetadataManager.
/**
* Updates the provider in metadata manager.
* @param uuid the provider id
* @param type the provider type
*/
public void updateProviderToMetadataManager(String uuid, String type) {
List<ExtendedMetadataDelegate> providers = metadataManager.getAvailableProviders();
String metadataEntityId = null;
for (final ExtendedMetadataDelegate provider : providers) {
MetadataProvider metadataProvider = provider.getDelegate();
if (metadataProvider instanceof DbMetadataProvider) {
DbMetadataProvider dbprovider = (DbMetadataProvider) provider.getDelegate();
metadataEntityId = dbprovider.getMetaDataEntityId();
} else if (metadataProvider instanceof UrlMetadataProvider) {
UrlMetadataProvider urlprovider = (UrlMetadataProvider) provider.getDelegate();
metadataEntityId = urlprovider.getMetaDataEntityId();
}
if (uuid.equals(metadataEntityId)) {
metadataManager.removeMetadataProvider(provider);
break;
}
}
try {
loadProviderMetadata(uuid, type);
} catch (MetadataProviderException e) {
LOGGER.error("Error occurred while updating provider in metadata manager" + e);
}
}
use of org.opensaml.saml2.metadata.provider.MetadataProvider in project open-kilda by telstra.
the class SecurityConfig method metadata.
@Bean
@Qualifier("metadata")
public CachingMetadataManager metadata(ExtendedMetadataDelegate extendedMetadataDelegate) throws MetadataProviderException, IOException {
List<MetadataProvider> metadataProviderList = new ArrayList<>();
List<SamlConfigEntity> samlConfigEntityList = samlRepository.findAll();
if (samlConfigEntityList != null) {
for (final SamlConfigEntity samlConfigEntity : samlConfigEntityList) {
if (samlConfigEntity.getUrl() != null) {
UrlMetadataProvider urlMetadataProvider = new UrlMetadataProvider(new Timer(true), new HttpClient(), samlConfigEntity.getUuid());
urlMetadataProvider.setParserPool(ParserPoolHolder.getPool());
ExtendedMetadataDelegate metadataDelegate = new ExtendedMetadataDelegate(urlMetadataProvider, extendedMetadata());
metadataDelegate.setMetadataTrustCheck(false);
metadataDelegate.setMetadataRequireSignature(false);
metadataProviderList.add(metadataDelegate);
} else {
DbMetadataProvider metadataProvider = new DbMetadataProvider(new Timer(true), samlConfigEntity.getUuid());
metadataProvider.setParserPool(ParserPoolHolder.getPool());
ExtendedMetadataDelegate metadataDelegate = new ExtendedMetadataDelegate(metadataProvider, extendedMetadata());
metadataDelegate.setMetadataTrustCheck(false);
metadataDelegate.setMetadataRequireSignature(false);
metadataProviderList.add(metadataDelegate);
}
}
}
return new CachingMetadataManager(metadataProviderList);
}
Aggregations