Search in sources :

Example 56 with org.opensaml.saml.saml2.metadata

use of org.opensaml.saml.saml2.metadata in project pac4j by pac4j.

the class SAML2WebSSOMessageReceiver method receiveMessage.

@Override
public Credentials receiveMessage(final SAML2MessageContext context) {
    final SAMLPeerEntityContext peerContext = context.getSAMLPeerEntityContext();
    peerContext.setRole(IDPSSODescriptor.DEFAULT_ELEMENT_NAME);
    context.getSAMLSelfProtocolContext().setProtocol(SAMLConstants.SAML20P_NS);
    final Pac4jHTTPPostDecoder decoder = new Pac4jHTTPPostDecoder(context.getWebContext());
    try {
        decoder.setParserPool(Configuration.getParserPool());
        decoder.initialize();
        decoder.decode();
    } catch (final Exception e) {
        throw new SAMLException("Error decoding saml message", e);
    }
    final SAML2MessageContext decodedCtx = new SAML2MessageContext(decoder.getMessageContext());
    decodedCtx.setMessage(decoder.getMessageContext().getMessage());
    decodedCtx.setSAMLMessageStorage(context.getSAMLMessageStorage());
    final SAMLBindingContext bindingContext = decodedCtx.getParent().getSubcontext(SAMLBindingContext.class);
    decodedCtx.getSAMLBindingContext().setBindingDescriptor(bindingContext.getBindingDescriptor());
    decodedCtx.getSAMLBindingContext().setBindingUri(bindingContext.getBindingUri());
    decodedCtx.getSAMLBindingContext().setHasBindingSignature(bindingContext.hasBindingSignature());
    decodedCtx.getSAMLBindingContext().setIntendedDestinationEndpointURIRequired(bindingContext.isIntendedDestinationEndpointURIRequired());
    decodedCtx.getSAMLBindingContext().setRelayState(bindingContext.getRelayState());
    final AssertionConsumerService acsService = context.getSPAssertionConsumerService();
    decodedCtx.getSAMLEndpointContext().setEndpoint(acsService);
    final EntityDescriptor metadata = context.getSAMLPeerMetadataContext().getEntityDescriptor();
    if (metadata == null) {
        throw new SAMLException("IDP Metadata cannot be null");
    }
    decodedCtx.getSAMLPeerEntityContext().setEntityId(metadata.getEntityID());
    decodedCtx.getSAMLSelfEntityContext().setEntityId(context.getSAMLSelfEntityContext().getEntityId());
    decodedCtx.getSAMLSelfEndpointContext().setEndpoint(context.getSAMLSelfEndpointContext().getEndpoint());
    decodedCtx.getSAMLSelfEntityContext().setRole(context.getSAMLSelfEntityContext().getRole());
    decodedCtx.getProfileRequestContext().setProfileId(SAML2_WEBSSO_PROFILE_URI);
    decodedCtx.getSAMLSelfMetadataContext().setRoleDescriptor(context.getSPSSODescriptor());
    return this.validator.validate(decodedCtx);
}
Also used : SAMLBindingContext(org.opensaml.saml.common.messaging.context.SAMLBindingContext) SAML2MessageContext(org.pac4j.saml.context.SAML2MessageContext) EntityDescriptor(org.opensaml.saml.saml2.metadata.EntityDescriptor) SAMLPeerEntityContext(org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext) AssertionConsumerService(org.opensaml.saml.saml2.metadata.AssertionConsumerService) Pac4jHTTPPostDecoder(org.pac4j.saml.transport.Pac4jHTTPPostDecoder) SAMLException(org.pac4j.saml.exceptions.SAMLException) SAMLException(org.pac4j.saml.exceptions.SAMLException)

Example 57 with org.opensaml.saml.saml2.metadata

use of org.opensaml.saml.saml2.metadata in project pac4j by pac4j.

the class SAML2IdentityProviderMetadataResolver method resolve.

@Override
public final MetadataResolver resolve() {
    // Usage of locks will adversly impact performance.
    if (idpMetadataProvider != null) {
        return idpMetadataProvider;
    }
    try {
        if (this.idpMetadataResource == null) {
            throw new XMLParserException("idp metadata cannot be resolved from " + this.idpMetadataResource);
        }
        try (final InputStream in = this.idpMetadataResource.getInputStream()) {
            final Document inCommonMDDoc = Configuration.getParserPool().parse(in);
            final Element metadataRoot = inCommonMDDoc.getDocumentElement();
            idpMetadataProvider = new DOMMetadataResolver(metadataRoot);
            idpMetadataProvider.setParserPool(Configuration.getParserPool());
            idpMetadataProvider.setFailFastInitialization(true);
            idpMetadataProvider.setRequireValidMetadata(true);
            idpMetadataProvider.setId(idpMetadataProvider.getClass().getCanonicalName());
            idpMetadataProvider.initialize();
        } catch (final FileNotFoundException e) {
            throw new TechnicalException("Error loading idp Metadata");
        }
        // If no idpEntityId declared, select first EntityDescriptor entityId as our IDP entityId
        if (this.idpEntityId == null) {
            final Iterator<EntityDescriptor> it = idpMetadataProvider.iterator();
            while (it.hasNext()) {
                final EntityDescriptor entityDescriptor = it.next();
                if (this.idpEntityId == null) {
                    this.idpEntityId = entityDescriptor.getEntityID();
                }
            }
        }
        if (this.idpEntityId == null) {
            throw new SAMLException("No idp entityId found");
        }
    } catch (final ComponentInitializationException e) {
        throw new SAMLException("Error initializing idpMetadataProvider", e);
    } catch (final XMLParserException e) {
        throw new TechnicalException("Error parsing idp Metadata", e);
    } catch (final IOException e) {
        throw new TechnicalException("Error getting idp Metadata resource", e);
    }
    return idpMetadataProvider;
}
Also used : DOMMetadataResolver(org.opensaml.saml.metadata.resolver.impl.DOMMetadataResolver) EntityDescriptor(org.opensaml.saml.saml2.metadata.EntityDescriptor) TechnicalException(org.pac4j.core.exception.TechnicalException) ComponentInitializationException(net.shibboleth.utilities.java.support.component.ComponentInitializationException) XMLParserException(net.shibboleth.utilities.java.support.xml.XMLParserException) InputStream(java.io.InputStream) Element(org.w3c.dom.Element) FileNotFoundException(java.io.FileNotFoundException) IOException(java.io.IOException) Document(org.w3c.dom.Document) SAMLException(org.pac4j.saml.exceptions.SAMLException)

Example 58 with org.opensaml.saml.saml2.metadata

use of org.opensaml.saml.saml2.metadata in project jbossws-cxf by jbossws.

the class WSMexTestCase method testEndpoint.

@Test
@RunAsClient
public void testEndpoint() throws Exception {
    JaxWsProxyFactoryBean proxyFac = new JaxWsProxyFactoryBean();
    proxyFac.setAddress(baseURL + "/jaxws-cxf-wsmex/EndpointService");
    MetadataExchange exc = proxyFac.create(MetadataExchange.class);
    Metadata metadata = exc.get2004();
    assertNotNull(metadata);
    assertEquals(1, metadata.getMetadataSection().size());
    MetadataSection ms = metadata.getMetadataSection().get(0);
    assertEquals("http://schemas.xmlsoap.org/wsdl/", ms.getDialect());
    assertEquals("http://org.jboss.ws/cxf/wsmex", ms.getIdentifier());
    String wsdl = DOMWriter.printNode((Node) ms.getAny(), true);
    assertTrue(wsdl.contains("EndpointBeanServiceSoapBinding"));
}
Also used : MetadataSection(org.apache.cxf.ws.mex.model._2004_09.MetadataSection) JaxWsProxyFactoryBean(org.apache.cxf.jaxws.JaxWsProxyFactoryBean) Metadata(org.apache.cxf.ws.mex.model._2004_09.Metadata) MetadataExchange(org.apache.cxf.ws.mex.MetadataExchange) RunAsClient(org.jboss.arquillian.container.test.api.RunAsClient) Test(org.junit.Test) JBossWSTest(org.jboss.wsf.test.JBossWSTest)

Example 59 with org.opensaml.saml.saml2.metadata

use of org.opensaml.saml.saml2.metadata in project timbuctoo by HuygensING.

the class TimbuctooV4 method run.

@Override
public void run(TimbuctooConfiguration configuration, Environment environment) throws Exception {
    // environment.jersey().property(ServerProperties.TRACING, "ALL");
    // // environment.jersey().property(ServerProperties.TRACING_THRESHOLD, "VERBOSE");
    // Make sure we know what version is running
    Properties properties = new Properties();
    InputStream gitproperties = getClass().getClassLoader().getResourceAsStream("git.properties");
    String currentVersion;
    if (gitproperties != null) {
        properties.load(gitproperties);
        currentVersion = properties.getProperty("git.commit.id");
    } else {
        currentVersion = "NO-GIT-PROPERTIES-FOUND";
        LoggerFactory.getLogger(this.getClass()).error("NO-GIT-PROPERTIES-FOUND");
    }
    LoggerFactory.getLogger(this.getClass()).info("Now launching timbuctoo version: " + currentVersion);
    HttpClientBuilder apacheHttpClientBuilder = new HttpClientBuilder(environment).using(configuration.getHttpClientConfiguration());
    CloseableHttpClient httpClient = apacheHttpClientBuilder.build("httpclient");
    // Support services
    SecurityFactory securityConfig = configuration.getSecurityConfiguration().createNewSecurityFactory(httpClient);
    securityConfig.getHealthChecks().forEachRemaining(check -> {
        register(environment, check.getLeft(), new LambdaHealthCheck(check.getRight()));
    });
    // Database migration
    LinkedHashMap<String, DatabaseMigration> migrations = new LinkedHashMap<>();
    migrations.put("fix-dcarkeywords-displayname-migration", new FixDcarKeywordDisplayNameMigration());
    migrations.put("fix-pids-migration", new MakePidsAbsoluteUrls());
    UriHelper uriHelper = configuration.getUriHelper();
    environment.lifecycle().addServerLifecycleListener(new BaseUriDeriver(configuration));
    TinkerPopConfig tinkerPopConfig = configuration.getDatabaseConfiguration();
    final TinkerPopGraphManager graphManager = new TinkerPopGraphManager(tinkerPopConfig, migrations);
    final PersistenceManager persistenceManager = configuration.getPersistenceManagerFactory().build();
    UrlGenerator uriToRedirectToFromPersistentUrls = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, rev));
    final UrlGenerator pathWithoutVersionAndRevision = (coll, id, rev) -> URI.create(SingleEntity.makeUrl(coll, id, null).toString().replaceFirst("^/v2.1/", ""));
    final UrlGenerator uriWithoutRev = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, null));
    HandleAdder handleAdder = new HandleAdder(persistenceManager, activeMqBundle);
    // TODO make function when TimbuctooActions does not depend on TransactionEnforcer anymore
    TimbuctooActions.TimbuctooActionsFactory timbuctooActionsFactory = new TimbuctooActions.TimbuctooActionsFactoryImpl(securityConfig.getPermissionFetcher(), Clock.systemDefaultZone(), handleAdder, uriToRedirectToFromPersistentUrls, () -> new TinkerPopOperations(graphManager));
    TransactionEnforcer transactionEnforcer = new TransactionEnforcer(timbuctooActionsFactory);
    graphManager.onGraph(g -> new ScaffoldMigrator(graphManager).execute());
    handleAdder.init(transactionEnforcer);
    final Vres vres = new DatabaseConfiguredVres(transactionEnforcer);
    migrations.put("prepare-for-bia-import-migration", new PrepareForBiaImportMigration(vres, graphManager));
    migrations.put("give-existing-relationtypes-rdf-uris", new RelationTypeRdfUriMigration());
    migrations.put("remove-search-results", new RemoveSearchResultsMigration());
    migrations.put("move-indices-to-isLatest-vertex", new MoveIndicesToIsLatestVertexMigration(vres));
    final ResourceSyncService resourceSyncService = new ResourceSyncService(httpClient, new ResourceSyncContext());
    final JsonMetadata jsonMetadata = new JsonMetadata(vres, graphManager);
    final AutocompleteService.AutocompleteServiceFactory autocompleteServiceFactory = new AutocompleteService.AutocompleteServiceFactory(uriWithoutRev);
    environment.lifecycle().manage(graphManager);
    final CrudServiceFactory crudServiceFactory = new CrudServiceFactory(vres, securityConfig.getUserValidator(), pathWithoutVersionAndRevision);
    final Webhooks webhooks = configuration.getWebhooks().getWebHook(environment);
    DataSetRepository dataSetRepository = configuration.getDataSetConfiguration().createRepository(environment.lifecycle().executorService("dataSet").build(), securityConfig.getPermissionFetcher(), configuration.getDatabases(), configuration.getRdfIdHelper(), (combinedId -> {
        try {
            webhooks.dataSetUpdated(combinedId);
        } catch (IOException e) {
            LOG.error("Webhook call failed", e);
        }
    }), configuration.dataSetsArePublicByDefault());
    environment.lifecycle().manage(new DataSetRepositoryManager(dataSetRepository));
    ErrorResponseHelper errorResponseHelper = new ErrorResponseHelper();
    AuthCheck authCheck = new AuthCheck(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository);
    register(environment, new RdfUpload(authCheck));
    register(environment, new TabularUpload(authCheck, dataSetRepository, errorResponseHelper));
    register(environment, new Rml(dataSetRepository, errorResponseHelper, securityConfig.getUserValidator()));
    SerializerWriterRegistry serializerWriterRegistry = new SerializerWriterRegistry(new CsvWriter(), new JsonLdWriter(), new JsonWriter(), new GraphVizWriter());
    final PaginationArgumentsHelper argHelper = new PaginationArgumentsHelper(configuration.getCollectionFilters());
    final GraphQl graphQlEndpoint = new GraphQl(new RootQuery(dataSetRepository, serializerWriterRegistry, configuration.getArchetypesSchema(), new RdfWiringFactory(dataSetRepository, argHelper, configuration.getDefaultSummaryProps()), new DerivedSchemaTypeGenerator(argHelper), environment.getObjectMapper()), serializerWriterRegistry, securityConfig.getUserValidator(), uriHelper, securityConfig.getPermissionFetcher(), dataSetRepository);
    register(environment, graphQlEndpoint);
    if (securityConfig instanceof TwitterSecurityFactory) {
        final TwitterLogin twitterLogin = new TwitterLogin();
        register(environment, twitterLogin);
    }
    register(environment, new JsonLdEditEndpoint(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository, new HttpClientBuilder(environment).build("json-ld")));
    register(environment, new RootEndpoint(uriHelper, configuration.getUserRedirectUrl()));
    if (securityConfig instanceof OldStyleSecurityFactory) {
        register(environment, new Authenticate(((OldStyleSecurityFactory) securityConfig).getLoggedInUsers()));
    }
    register(environment, new Me(securityConfig.getUserValidator()));
    register(environment, new Search(configuration, uriHelper, graphManager));
    register(environment, new Autocomplete(autocompleteServiceFactory, transactionEnforcer));
    register(environment, new Index(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
    register(environment, new SingleEntity(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
    register(environment, new SingleEntityNTriple(transactionEnforcer, uriHelper));
    register(environment, new WomenWritersEntityGet(crudServiceFactory, transactionEnforcer));
    register(environment, new LegacySingleEntityRedirect(uriHelper));
    register(environment, new LegacyIndexRedirect(uriHelper));
    register(environment, new Discover(resourceSyncService));
    if (configuration.isAllowGremlinEndpoint()) {
        register(environment, new Gremlin(graphManager));
    }
    register(environment, new Graph(graphManager, vres));
    register(environment, new RelationTypes(graphManager));
    register(environment, new Metadata());
    register(environment, new nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.Metadata(jsonMetadata));
    register(environment, new MyVres(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), transactionEnforcer, uriHelper));
    register(environment, new ListVres(uriHelper, transactionEnforcer));
    register(environment, new VreImage(transactionEnforcer));
    final ExecutorService rfdExecutorService = environment.lifecycle().executorService("rdf-import").build();
    register(environment, new ImportRdf(graphManager, vres, rfdExecutorService, transactionEnforcer));
    register(environment, new Import(new ResourceSyncFileLoader(httpClient), authCheck));
    register(environment, new WellKnown());
    RsDocumentBuilder rsDocumentBuilder = new RsDocumentBuilder(dataSetRepository, configuration.getUriHelper());
    register(environment, new RsEndpoint(rsDocumentBuilder, securityConfig.getUserValidator()));
    // Admin resources
    if (securityConfig instanceof OldStyleSecurityFactory) {
        final OldStyleSecurityFactory oldStyleSecurityFactory = (OldStyleSecurityFactory) securityConfig;
        environment.admin().addTask(new UserCreationTask(new LocalUserCreator(oldStyleSecurityFactory.getLoginCreator(), oldStyleSecurityFactory.getUserCreator(), oldStyleSecurityFactory.getVreAuthorizationCreator())));
    }
    environment.admin().addTask(new DatabaseValidationTask(new DatabaseValidator(graphManager, new LabelsAddedToVertexDatabaseCheck(), new InvariantsCheck(vres), new FullTextIndexCheck()), Clock.systemUTC(), 5000));
    environment.admin().addTask(new DbLogCreatorTask(graphManager));
    environment.admin().addTask(new BdbDumpTask(configuration.getDatabases()));
    if (configuration.getDatabaseBackupper().isPresent()) {
        environment.admin().addTask(new StagingBackup(configuration.getDatabaseBackupper().get().create(configuration.getDatabaseConfiguration().getDatabasePath(), configuration.getDatabases().getDatabaseLocation())));
    }
    // register health checks
    // Dropwizard Health checks are used to check whether requests should be routed to this instance
    // For example, checking if neo4j is in a valid state is not a "HealthCheck" because if the database on one instance
    // is in an invalid state, then this applies to all other instances too. So once the database is in an invalid state
    // timbuctoo will be down.
    // 
    // checking whether this instance is part of the neo4j quorum is a good HealthCheck because running a database query
    // on those instances that are not part of the quorum will block forever, while the other instances will respond
    // just fine.
    register(environment, "Neo4j database connection", graphManager);
    // Log all http requests
    register(environment, new LoggingFilter(1024, currentVersion));
    register(environment, new TransactionFilter(graphManager));
    // Allow all CORS requests
    register(environment, new PromiscuousCorsFilter());
    // Add embedded AMQ (if any) to the metrics
    configuration.getLocalAmqJmxPath(HANDLE_QUEUE).ifPresent(rethrowConsumer(jmxPath -> {
        String dwMetricName = name(this.getClass(), "localAmq");
        ObjectName jmxMetricName = new ObjectName(jmxPath);
        environment.metrics().register(dwMetricName + ".enqueueCount", new JmxAttributeGauge(jmxMetricName, "EnqueueCount"));
        environment.metrics().register(dwMetricName + ".dequeueCount", new JmxAttributeGauge(jmxMetricName, "DequeueCount"));
    }));
    setupObjectMapping(environment);
}
Also used : TransactionEnforcer(nl.knaw.huygens.timbuctoo.core.TransactionEnforcer) DataSetRepository(nl.knaw.huygens.timbuctoo.v5.dataset.DataSetRepository) WellKnown(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.WellKnown) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) FixDcarKeywordDisplayNameMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.FixDcarKeywordDisplayNameMigration) DbLogCreatorTask(nl.knaw.huygens.timbuctoo.server.tasks.DbLogCreatorTask) RootEndpoint(nl.knaw.huygens.timbuctoo.server.endpoints.RootEndpoint) Index(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Index) DerivedSchemaTypeGenerator(nl.knaw.huygens.timbuctoo.v5.graphql.derivedschema.DerivedSchemaTypeGenerator) RootQuery(nl.knaw.huygens.timbuctoo.v5.graphql.rootquery.RootQuery) LambdaHealthCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.LambdaHealthCheck) DataSetRepositoryManager(nl.knaw.huygens.timbuctoo.v5.dropwizard.DataSetRepositoryManager) LegacyIndexRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacyIndexRedirect) TinkerPopConfig(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopConfig) JsonWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonWriter) Server(org.eclipse.jetty.server.Server) TabularUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.TabularUpload) Autocomplete(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Autocomplete) BdbDumpTask(nl.knaw.huygens.timbuctoo.server.tasks.BdbDumpTask) MoveIndicesToIsLatestVertexMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.MoveIndicesToIsLatestVertexMigration) UserCreationTask(nl.knaw.huygens.timbuctoo.server.tasks.UserCreationTask) DatabaseMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.DatabaseMigration) GraphQl(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.GraphQl) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) LambdaExceptionUtil.rethrowConsumer(nl.knaw.huygens.timbuctoo.util.LambdaExceptionUtil.rethrowConsumer) WomenWritersEntityGet(nl.knaw.huygens.timbuctoo.experimental.womenwriters.WomenWritersEntityGet) FullTextIndexCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.FullTextIndexCheck) RdfWiringFactory(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.RdfWiringFactory) Bootstrap(io.dropwizard.setup.Bootstrap) LocalUserCreator(nl.knaw.huygens.timbuctoo.server.security.LocalUserCreator) LegacySingleEntityRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacySingleEntityRedirect) Gremlin(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Gremlin) UrlGenerator(nl.knaw.huygens.timbuctoo.crud.UrlGenerator) InvariantsCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.InvariantsCheck) LinkedHashMap(java.util.LinkedHashMap) VreImage(nl.knaw.huygens.timbuctoo.server.endpoints.v2.VreImage) ErrorResponseHelper(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.ErrorResponseHelper) JmxAttributeGauge(com.codahale.metrics.JmxAttributeGauge) SubstitutingSourceProvider(io.dropwizard.configuration.SubstitutingSourceProvider) HttpClientBuilder(io.dropwizard.client.HttpClientBuilder) PrepareForBiaImportMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.PrepareForBiaImportMigration) LoggingFilter(nl.knaw.huygens.timbuctoo.logging.LoggingFilter) ResourceSyncService(nl.knaw.huygens.timbuctoo.remote.rs.ResourceSyncService) AuthCheck(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.auth.AuthCheck) Environment(io.dropwizard.setup.Environment) Properties(java.util.Properties) TinkerPopOperations(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopOperations) Import(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Import) ServerLifecycleListener(io.dropwizard.lifecycle.ServerLifecycleListener) IOException(java.io.IOException) MakePidsAbsoluteUrls(nl.knaw.huygens.timbuctoo.server.databasemigration.MakePidsAbsoluteUrls) TransactionFilter(nl.knaw.huygens.timbuctoo.database.tinkerpop.TransactionFilter) RdfUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RdfUpload) RelationTypes(nl.knaw.huygens.timbuctoo.server.endpoints.v2.RelationTypes) CrudServiceFactory(nl.knaw.huygens.timbuctoo.crud.CrudServiceFactory) Graph(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Graph) GraphVizWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.GraphVizWriter) JsonLdEditEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.JsonLdEditEndpoint) RsEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RsEndpoint) PaginationArgumentsHelper(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.PaginationArgumentsHelper) Webhooks(nl.knaw.huygens.timbuctoo.solr.Webhooks) Me(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.Me) Metadata(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Metadata) LabelsAddedToVertexDatabaseCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.LabelsAddedToVertexDatabaseCheck) LoggerFactory(org.slf4j.LoggerFactory) SecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.SecurityFactory) SimpleModule(com.fasterxml.jackson.databind.module.SimpleModule) FacetValue(nl.knaw.huygens.timbuctoo.search.FacetValue) Rml(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.Rml) SingleEntityNTriple(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntityNTriple) UriHelper(nl.knaw.huygens.timbuctoo.util.UriHelper) JsonLdWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonLdWriter) ScaffoldMigrator(nl.knaw.huygens.timbuctoo.server.databasemigration.ScaffoldMigrator) HandleAdder(nl.knaw.huygens.timbuctoo.handle.HandleAdder) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) URI(java.net.URI) HANDLE_QUEUE(nl.knaw.huygens.timbuctoo.handle.HandleAdder.HANDLE_QUEUE) Application(io.dropwizard.Application) DatabaseValidator(nl.knaw.huygens.timbuctoo.server.healthchecks.DatabaseValidator) ResourceSyncFileLoader(nl.knaw.huygens.timbuctoo.remote.rs.download.ResourceSyncFileLoader) SerializerWriterRegistry(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.SerializerWriterRegistry) PersistenceManager(nl.knaw.huygens.persistence.PersistenceManager) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) ObjectName(javax.management.ObjectName) ImportRdf(nl.knaw.huygens.timbuctoo.server.endpoints.v2.ImportRdf) ActiveMQBundle(com.kjetland.dropwizard.activemq.ActiveMQBundle) InetSocketAddress(java.net.InetSocketAddress) AssetsBundle(io.dropwizard.assets.AssetsBundle) TwitterLogin(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterLogin) ResourceSyncContext(nl.knaw.huygens.timbuctoo.remote.rs.xml.ResourceSyncContext) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) AutocompleteService(nl.knaw.huygens.timbuctoo.search.AutocompleteService) Search(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Search) EnvironmentVariableSubstitutor(io.dropwizard.configuration.EnvironmentVariableSubstitutor) TimbuctooActions(nl.knaw.huygens.timbuctoo.core.TimbuctooActions) RsDocumentBuilder(nl.knaw.huygens.timbuctoo.v5.datastores.rssource.RsDocumentBuilder) StagingBackup(nl.knaw.huygens.timbuctoo.v5.dropwizard.tasks.StagingBackup) ExecutorService(java.util.concurrent.ExecutorService) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) Logger(org.slf4j.Logger) Discover(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Discover) CsvWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.CsvWriter) HealthCheck(com.codahale.metrics.health.HealthCheck) RemoveSearchResultsMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RemoveSearchResultsMigration) RelationTypeRdfUriMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RelationTypeRdfUriMigration) Vres(nl.knaw.huygens.timbuctoo.model.vre.Vres) ServerSocketChannel(java.nio.channels.ServerSocketChannel) MultiPartBundle(io.dropwizard.forms.MultiPartBundle) SingleEntity(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntity) FacetValueDeserializer(nl.knaw.huygens.timbuctoo.server.mediatypes.v2.search.FacetValueDeserializer) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) Clock(java.time.Clock) Authenticate(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Authenticate) Connector(org.eclipse.jetty.server.Connector) MetricRegistry.name(com.codahale.metrics.MetricRegistry.name) DatabaseValidationTask(nl.knaw.huygens.timbuctoo.server.tasks.DatabaseValidationTask) InputStream(java.io.InputStream) Import(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Import) GraphQl(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.GraphQl) RemoveSearchResultsMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RemoveSearchResultsMigration) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) MakePidsAbsoluteUrls(nl.knaw.huygens.timbuctoo.server.databasemigration.MakePidsAbsoluteUrls) LocalUserCreator(nl.knaw.huygens.timbuctoo.server.security.LocalUserCreator) UriHelper(nl.knaw.huygens.timbuctoo.util.UriHelper) TransactionEnforcer(nl.knaw.huygens.timbuctoo.core.TransactionEnforcer) PrepareForBiaImportMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.PrepareForBiaImportMigration) MoveIndicesToIsLatestVertexMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.MoveIndicesToIsLatestVertexMigration) UrlGenerator(nl.knaw.huygens.timbuctoo.crud.UrlGenerator) SingleEntityNTriple(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntityNTriple) Discover(nl.knaw.huygens.timbuctoo.server.endpoints.v2.remote.rs.Discover) WellKnown(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.WellKnown) Graph(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Graph) JsonLdWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonLdWriter) RootEndpoint(nl.knaw.huygens.timbuctoo.server.endpoints.RootEndpoint) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) FullTextIndexCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.FullTextIndexCheck) TinkerPopOperations(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopOperations) SingleEntity(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.SingleEntity) ResourceSyncContext(nl.knaw.huygens.timbuctoo.remote.rs.xml.ResourceSyncContext) Metadata(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Metadata) JsonMetadata(nl.knaw.huygens.timbuctoo.model.properties.JsonMetadata) HttpClientBuilder(io.dropwizard.client.HttpClientBuilder) RelationTypeRdfUriMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.RelationTypeRdfUriMigration) TwitterLogin(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterLogin) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) RsDocumentBuilder(nl.knaw.huygens.timbuctoo.v5.datastores.rssource.RsDocumentBuilder) DatabaseValidationTask(nl.knaw.huygens.timbuctoo.server.tasks.DatabaseValidationTask) InvariantsCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.InvariantsCheck) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) HandleAdder(nl.knaw.huygens.timbuctoo.handle.HandleAdder) DerivedSchemaTypeGenerator(nl.knaw.huygens.timbuctoo.v5.graphql.derivedschema.DerivedSchemaTypeGenerator) IOException(java.io.IOException) ImportRdf(nl.knaw.huygens.timbuctoo.server.endpoints.v2.ImportRdf) DataSetRepositoryManager(nl.knaw.huygens.timbuctoo.v5.dropwizard.DataSetRepositoryManager) VreImage(nl.knaw.huygens.timbuctoo.server.endpoints.v2.VreImage) CrudServiceFactory(nl.knaw.huygens.timbuctoo.crud.CrudServiceFactory) RdfUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RdfUpload) Rml(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.Rml) StagingBackup(nl.knaw.huygens.timbuctoo.v5.dropwizard.tasks.StagingBackup) Webhooks(nl.knaw.huygens.timbuctoo.solr.Webhooks) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) JsonLdEditEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.JsonLdEditEndpoint) LegacyIndexRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacyIndexRedirect) TwitterSecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.twitterexample.TwitterSecurityFactory) SecurityFactory(nl.knaw.huygens.timbuctoo.v5.security.SecurityFactory) OldStyleSecurityFactory(nl.knaw.huygens.timbuctoo.security.OldStyleSecurityFactory) JmxAttributeGauge(com.codahale.metrics.JmxAttributeGauge) DataSetRepository(nl.knaw.huygens.timbuctoo.v5.dataset.DataSetRepository) Index(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Index) LinkedHashMap(java.util.LinkedHashMap) Authenticate(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Authenticate) PaginationArgumentsHelper(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.PaginationArgumentsHelper) Search(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Search) Gremlin(nl.knaw.huygens.timbuctoo.server.endpoints.v2.Gremlin) TinkerPopConfig(nl.knaw.huygens.timbuctoo.database.tinkerpop.TinkerPopConfig) RelationTypes(nl.knaw.huygens.timbuctoo.server.endpoints.v2.RelationTypes) TimbuctooActions(nl.knaw.huygens.timbuctoo.core.TimbuctooActions) ListVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.ListVres) DatabaseConfiguredVres(nl.knaw.huygens.timbuctoo.model.vre.vres.DatabaseConfiguredVres) Vres(nl.knaw.huygens.timbuctoo.model.vre.Vres) MyVres(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.MyVres) UserCreationTask(nl.knaw.huygens.timbuctoo.server.tasks.UserCreationTask) DatabaseValidator(nl.knaw.huygens.timbuctoo.server.healthchecks.DatabaseValidator) PersistenceManager(nl.knaw.huygens.persistence.PersistenceManager) LabelsAddedToVertexDatabaseCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.databasechecks.LabelsAddedToVertexDatabaseCheck) FixDcarKeywordDisplayNameMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.FixDcarKeywordDisplayNameMigration) ErrorResponseHelper(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.ErrorResponseHelper) Me(nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.users.Me) DbLogCreatorTask(nl.knaw.huygens.timbuctoo.server.tasks.DbLogCreatorTask) TransactionFilter(nl.knaw.huygens.timbuctoo.database.tinkerpop.TransactionFilter) LegacySingleEntityRedirect(nl.knaw.huygens.timbuctoo.server.endpoints.legacy.LegacySingleEntityRedirect) LoggingFilter(nl.knaw.huygens.timbuctoo.logging.LoggingFilter) BdbDumpTask(nl.knaw.huygens.timbuctoo.server.tasks.BdbDumpTask) Properties(java.util.Properties) LambdaHealthCheck(nl.knaw.huygens.timbuctoo.server.healthchecks.LambdaHealthCheck) Autocomplete(nl.knaw.huygens.timbuctoo.server.endpoints.v2.domain.Autocomplete) AuthCheck(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.auth.AuthCheck) TabularUpload(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.TabularUpload) SerializerWriterRegistry(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.SerializerWriterRegistry) DatabaseMigration(nl.knaw.huygens.timbuctoo.server.databasemigration.DatabaseMigration) ResourceSyncService(nl.knaw.huygens.timbuctoo.remote.rs.ResourceSyncService) GraphVizWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.GraphVizWriter) CsvWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.CsvWriter) InputStream(java.io.InputStream) RootQuery(nl.knaw.huygens.timbuctoo.v5.graphql.rootquery.RootQuery) ResourceSyncFileLoader(nl.knaw.huygens.timbuctoo.remote.rs.download.ResourceSyncFileLoader) WomenWritersEntityGet(nl.knaw.huygens.timbuctoo.experimental.womenwriters.WomenWritersEntityGet) JsonWriter(nl.knaw.huygens.timbuctoo.v5.dropwizard.contenttypes.JsonWriter) ObjectName(javax.management.ObjectName) RsEndpoint(nl.knaw.huygens.timbuctoo.v5.dropwizard.endpoints.RsEndpoint) AutocompleteService(nl.knaw.huygens.timbuctoo.search.AutocompleteService) ScaffoldMigrator(nl.knaw.huygens.timbuctoo.server.databasemigration.ScaffoldMigrator) RdfWiringFactory(nl.knaw.huygens.timbuctoo.v5.graphql.datafetchers.RdfWiringFactory) ExecutorService(java.util.concurrent.ExecutorService)

Example 60 with org.opensaml.saml.saml2.metadata

use of org.opensaml.saml.saml2.metadata in project spring-security by spring-projects.

the class OpenSamlMetadataAssertingPartyDetailsConverter method convert.

RelyingPartyRegistration.AssertingPartyDetails.Builder convert(EntityDescriptor descriptor) {
    IDPSSODescriptor idpssoDescriptor = descriptor.getIDPSSODescriptor(SAMLConstants.SAML20P_NS);
    if (idpssoDescriptor == null) {
        throw new Saml2Exception("Metadata response is missing the necessary IDPSSODescriptor element");
    }
    List<Saml2X509Credential> verification = new ArrayList<>();
    List<Saml2X509Credential> encryption = new ArrayList<>();
    for (KeyDescriptor keyDescriptor : idpssoDescriptor.getKeyDescriptors()) {
        if (keyDescriptor.getUse().equals(UsageType.SIGNING)) {
            List<X509Certificate> certificates = certificates(keyDescriptor);
            for (X509Certificate certificate : certificates) {
                verification.add(Saml2X509Credential.verification(certificate));
            }
        }
        if (keyDescriptor.getUse().equals(UsageType.ENCRYPTION)) {
            List<X509Certificate> certificates = certificates(keyDescriptor);
            for (X509Certificate certificate : certificates) {
                encryption.add(Saml2X509Credential.encryption(certificate));
            }
        }
        if (keyDescriptor.getUse().equals(UsageType.UNSPECIFIED)) {
            List<X509Certificate> certificates = certificates(keyDescriptor);
            for (X509Certificate certificate : certificates) {
                verification.add(Saml2X509Credential.verification(certificate));
                encryption.add(Saml2X509Credential.encryption(certificate));
            }
        }
    }
    if (verification.isEmpty()) {
        throw new Saml2Exception("Metadata response is missing verification certificates, necessary for verifying SAML assertions");
    }
    RelyingPartyRegistration.AssertingPartyDetails.Builder party = OpenSamlAssertingPartyDetails.withEntityDescriptor(descriptor).entityId(descriptor.getEntityID()).wantAuthnRequestsSigned(Boolean.TRUE.equals(idpssoDescriptor.getWantAuthnRequestsSigned())).verificationX509Credentials((c) -> c.addAll(verification)).encryptionX509Credentials((c) -> c.addAll(encryption));
    List<SigningMethod> signingMethods = signingMethods(idpssoDescriptor);
    for (SigningMethod method : signingMethods) {
        party.signingAlgorithms((algorithms) -> algorithms.add(method.getAlgorithm()));
    }
    if (idpssoDescriptor.getSingleSignOnServices().isEmpty()) {
        throw new Saml2Exception("Metadata response is missing a SingleSignOnService, necessary for sending AuthnRequests");
    }
    for (SingleSignOnService singleSignOnService : idpssoDescriptor.getSingleSignOnServices()) {
        Saml2MessageBinding binding;
        if (singleSignOnService.getBinding().equals(Saml2MessageBinding.POST.getUrn())) {
            binding = Saml2MessageBinding.POST;
        } else if (singleSignOnService.getBinding().equals(Saml2MessageBinding.REDIRECT.getUrn())) {
            binding = Saml2MessageBinding.REDIRECT;
        } else {
            continue;
        }
        party.singleSignOnServiceLocation(singleSignOnService.getLocation()).singleSignOnServiceBinding(binding);
        break;
    }
    for (SingleLogoutService singleLogoutService : idpssoDescriptor.getSingleLogoutServices()) {
        Saml2MessageBinding binding;
        if (singleLogoutService.getBinding().equals(Saml2MessageBinding.POST.getUrn())) {
            binding = Saml2MessageBinding.POST;
        } else if (singleLogoutService.getBinding().equals(Saml2MessageBinding.REDIRECT.getUrn())) {
            binding = Saml2MessageBinding.REDIRECT;
        } else {
            continue;
        }
        String responseLocation = (singleLogoutService.getResponseLocation() == null) ? singleLogoutService.getLocation() : singleLogoutService.getResponseLocation();
        party.singleLogoutServiceLocation(singleLogoutService.getLocation()).singleLogoutServiceResponseLocation(responseLocation).singleLogoutServiceBinding(binding);
        break;
    }
    return party;
}
Also used : X509Certificate(java.security.cert.X509Certificate) Arrays(java.util.Arrays) OpenSamlInitializationService(org.springframework.security.saml2.core.OpenSamlInitializationService) KeyDescriptor(org.opensaml.saml.saml2.metadata.KeyDescriptor) XMLObjectProviderRegistry(org.opensaml.core.xml.config.XMLObjectProviderRegistry) Extensions(org.opensaml.saml.saml2.metadata.Extensions) ArrayList(java.util.ArrayList) SigningMethod(org.opensaml.saml.ext.saml2alg.SigningMethod) SingleSignOnService(org.opensaml.saml.saml2.metadata.SingleSignOnService) Document(org.w3c.dom.Document) IDPSSODescriptor(org.opensaml.saml.saml2.metadata.IDPSSODescriptor) XMLObject(org.opensaml.core.xml.XMLObject) SAMLConstants(org.opensaml.saml.common.xml.SAMLConstants) EntitiesDescriptor(org.opensaml.saml.saml2.metadata.EntitiesDescriptor) UsageType(org.opensaml.security.credential.UsageType) SingleLogoutService(org.opensaml.saml.saml2.metadata.SingleLogoutService) Collection(java.util.Collection) Unmarshaller(org.opensaml.core.xml.io.Unmarshaller) Saml2Exception(org.springframework.security.saml2.Saml2Exception) ConfigurationService(org.opensaml.core.config.ConfigurationService) Saml2X509Credential(org.springframework.security.saml2.core.Saml2X509Credential) CertificateException(java.security.cert.CertificateException) KeyInfoSupport(org.opensaml.xmlsec.keyinfo.KeyInfoSupport) ParserPool(net.shibboleth.utilities.java.support.xml.ParserPool) List(java.util.List) Element(org.w3c.dom.Element) EntityDescriptor(org.opensaml.saml.saml2.metadata.EntityDescriptor) InputStream(java.io.InputStream) IDPSSODescriptor(org.opensaml.saml.saml2.metadata.IDPSSODescriptor) SingleLogoutService(org.opensaml.saml.saml2.metadata.SingleLogoutService) KeyDescriptor(org.opensaml.saml.saml2.metadata.KeyDescriptor) Saml2X509Credential(org.springframework.security.saml2.core.Saml2X509Credential) ArrayList(java.util.ArrayList) SingleSignOnService(org.opensaml.saml.saml2.metadata.SingleSignOnService) Saml2Exception(org.springframework.security.saml2.Saml2Exception) X509Certificate(java.security.cert.X509Certificate) SigningMethod(org.opensaml.saml.ext.saml2alg.SigningMethod)

Aggregations

EntityDescriptor (org.opensaml.saml.saml2.metadata.EntityDescriptor)22 IOException (java.io.IOException)11 InputStream (java.io.InputStream)9 SamlRegisteredServiceServiceProviderMetadataFacade (org.apereo.cas.support.saml.services.idp.metadata.SamlRegisteredServiceServiceProviderMetadataFacade)9 AuthnRequest (org.opensaml.saml.saml2.core.AuthnRequest)9 Document (org.w3c.dom.Document)9 AssertionConsumerService (org.opensaml.saml.saml2.metadata.AssertionConsumerService)8 Element (org.w3c.dom.Element)8 CriteriaSet (net.shibboleth.utilities.java.support.resolver.CriteriaSet)7 WSSecurityException (org.apache.wss4j.common.ext.WSSecurityException)7 EntityIdCriterion (org.opensaml.core.criterion.EntityIdCriterion)7 XMLObject (org.opensaml.core.xml.XMLObject)7 SPSSODescriptor (org.opensaml.saml.saml2.metadata.SPSSODescriptor)7 X509Certificate (java.security.cert.X509Certificate)6 UnauthorizedServiceException (org.apereo.cas.services.UnauthorizedServiceException)6 SamlRegisteredService (org.apereo.cas.support.saml.services.SamlRegisteredService)6 SamlRegisteredServiceCachingMetadataResolver (org.apereo.cas.support.saml.services.idp.metadata.cache.SamlRegisteredServiceCachingMetadataResolver)6 Test (org.junit.Test)6 IDPSSODescriptor (org.opensaml.saml.saml2.metadata.IDPSSODescriptor)6 SimpleSign (ddf.security.samlp.SimpleSign)5