Search in sources :

Example 1 with UrlMetadataProvider

use of org.openkilda.saml.provider.UrlMetadataProvider in project open-kilda by telstra.

the class SamlMetadataManager method loadProviderMetadata.

/**
 * loads the provider.
 *
 * @param uuid the id of provider.
 * @param type the type of provider.
 */
public void loadProviderMetadata(String uuid, String type) throws MetadataProviderException {
    if (type.equals("URL")) {
        UrlMetadataProvider urlProvider = new UrlMetadataProvider(new Timer(true), new HttpClient(), uuid);
        urlProvider.setParserPool(ParserPoolHolder.getPool());
        addProviderToMetadataManager(urlProvider);
    } else if (type.equals("FILE")) {
        DbMetadataProvider dbProvider = new DbMetadataProvider(uuid);
        dbProvider.setParserPool(ParserPoolHolder.getPool());
        addProviderToMetadataManager(dbProvider);
    }
}
Also used : DbMetadataProvider(org.openkilda.saml.provider.DbMetadataProvider) Timer(java.util.Timer) UrlMetadataProvider(org.openkilda.saml.provider.UrlMetadataProvider) HttpClient(org.apache.commons.httpclient.HttpClient)

Example 2 with UrlMetadataProvider

use of org.openkilda.saml.provider.UrlMetadataProvider 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);
    }
}
Also used : DbMetadataProvider(org.openkilda.saml.provider.DbMetadataProvider) MetadataProvider(org.opensaml.saml2.metadata.provider.MetadataProvider) UrlMetadataProvider(org.openkilda.saml.provider.UrlMetadataProvider) DbMetadataProvider(org.openkilda.saml.provider.DbMetadataProvider) UrlMetadataProvider(org.openkilda.saml.provider.UrlMetadataProvider) ExtendedMetadataDelegate(org.springframework.security.saml.metadata.ExtendedMetadataDelegate) MetadataProviderException(org.opensaml.saml2.metadata.provider.MetadataProviderException)

Example 3 with UrlMetadataProvider

use of org.openkilda.saml.provider.UrlMetadataProvider 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);
}
Also used : DbMetadataProvider(org.openkilda.saml.provider.DbMetadataProvider) Timer(java.util.Timer) UrlMetadataProvider(org.openkilda.saml.provider.UrlMetadataProvider) DbMetadataProvider(org.openkilda.saml.provider.DbMetadataProvider) MetadataProvider(org.opensaml.saml2.metadata.provider.MetadataProvider) UrlMetadataProvider(org.openkilda.saml.provider.UrlMetadataProvider) HttpClient(org.apache.commons.httpclient.HttpClient) ArrayList(java.util.ArrayList) ExtendedMetadataDelegate(org.springframework.security.saml.metadata.ExtendedMetadataDelegate) SamlConfigEntity(org.openkilda.saml.dao.entity.SamlConfigEntity) CachingMetadataManager(org.springframework.security.saml.metadata.CachingMetadataManager) Qualifier(org.springframework.beans.factory.annotation.Qualifier) Bean(org.springframework.context.annotation.Bean)

Aggregations

DbMetadataProvider (org.openkilda.saml.provider.DbMetadataProvider)3 UrlMetadataProvider (org.openkilda.saml.provider.UrlMetadataProvider)3 Timer (java.util.Timer)2 HttpClient (org.apache.commons.httpclient.HttpClient)2 MetadataProvider (org.opensaml.saml2.metadata.provider.MetadataProvider)2 ExtendedMetadataDelegate (org.springframework.security.saml.metadata.ExtendedMetadataDelegate)2 ArrayList (java.util.ArrayList)1 SamlConfigEntity (org.openkilda.saml.dao.entity.SamlConfigEntity)1 MetadataProviderException (org.opensaml.saml2.metadata.provider.MetadataProviderException)1 Qualifier (org.springframework.beans.factory.annotation.Qualifier)1 Bean (org.springframework.context.annotation.Bean)1 CachingMetadataManager (org.springframework.security.saml.metadata.CachingMetadataManager)1