public NonSnarlMetadataManager(SamlIdentityProviderConfigurator configurator) throws MetadataProviderException { super(Collections.EMPTY_LIST); this.configurator = configurator; this.defaultExtendedMetadata = new ExtendedMetadata(); super.setRefreshCheckInterval(0); }
public NonSnarlIdpMetadataManager(SamlServiceProviderConfigurator configurator) throws MetadataProviderException { super(Collections.<MetadataProvider>emptyList()); this.configurator = configurator; super.setKeyManager(IdentityZoneHolder.getSamlSPKeyManager()); //disable internal timer super.setRefreshCheckInterval(0); logger.info("-----> Internal Timer is disabled"); this.defaultExtendedMetadata = new ExtendedMetadata(); if (zoneHostedIdpNames == null) { zoneHostedIdpNames = new ConcurrentHashMap<>(); } }
public EntityDescriptor mockSpMetadata() { ExtendedMetadata extendedMetadata = new ExtendedMetadata(); MetadataGenerator metadataGenerator = new MetadataGenerator(); metadataGenerator.setExtendedMetadata(extendedMetadata); metadataGenerator.setEntityId(SP_ENTITY_ID); metadataGenerator.setEntityBaseURL("http://localhost:8080/uaa/saml"); metadataGenerator.setWantAssertionSigned(false); KeyManager keyManager = mock(KeyManager.class); when(keyManager.getDefaultCredentialName()).thenReturn(null); metadataGenerator.setKeyManager(keyManager); return metadataGenerator.generateMetadata(); }
protected ExtendedMetadataDelegate configureURLMetadata(SamlServiceProvider provider) throws MetadataProviderException { SamlServiceProviderDefinition def = provider.getConfig().clone(); ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setAlias(provider.getEntityId()); byte[] metadata; try { metadata = fixedHttpMetaDataProvider.fetchMetadata(def.getMetaDataLocation(), def.isSkipSslValidation()); } catch (RestClientException e) { throw new MetadataProviderException("Unavailable Metadata Provider", e); } catch (URISyntaxException e) { throw new MetadataProviderException("Invalid metadata URI: " + def.getMetaDataLocation(), e); } def.setMetaDataLocation(new String(metadata, StandardCharsets.UTF_8)); return configureXMLMetadata(provider); }
protected ExtendedMetadataDelegate configureXMLMetadata(SamlIdentityProviderDefinition def) { ConfigMetadataProvider configMetadataProvider = new ConfigMetadataProvider(def.getZoneId(), def.getIdpEntityAlias(), def.getMetaDataLocation()); configMetadataProvider.setParserPool(getParserPool()); ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setLocal(false); extendedMetadata.setAlias(def.getIdpEntityAlias()); ExtendedMetadataDelegate delegate = new ExtendedMetadataDelegate(configMetadataProvider, extendedMetadata); delegate.setMetadataTrustCheck(def.isMetadataTrustCheck()); return delegate; }
protected ExtendedMetadataDelegate configureXMLMetadata(SamlServiceProvider provider) { ConfigMetadataProvider configMetadataProvider = new ConfigMetadataProvider(provider.getIdentityZoneId(), provider.getEntityId(), provider.getConfig().getMetaDataLocation()); configMetadataProvider.setParserPool(getParserPool()); ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setLocal(false); extendedMetadata.setAlias(provider.getEntityId()); ExtendedMetadataDelegate delegate = new ExtendedMetadataDelegate(configMetadataProvider, extendedMetadata); delegate.setMetadataTrustCheck(provider.getConfig().isMetadataTrustCheck()); return delegate; }
@Before public void setUp() { otherZone = new IdentityZone(); otherZone.setId(ZONE_ID); otherZone.setName(ZONE_ID); otherZone.setSubdomain(ZONE_ID); otherZone.setConfig(new IdentityZoneConfiguration()); otherZoneDefinition = otherZone.getConfig(); otherZoneDefinition.getSamlConfig().setRequestSigned(true); otherZoneDefinition.getSamlConfig().setWantAssertionSigned(true); otherZoneDefinition.getSamlConfig().addAndActivateKey("key-1", samlKey1); otherZone.setConfig(otherZoneDefinition); generator = new ZoneAwareMetadataGenerator(); generator.setEntityBaseURL("http://localhost:8080/uaa"); generator.setEntityId("entityIdValue"); extendedMetadata = new org.springframework.security.saml.metadata.ExtendedMetadata(); extendedMetadata.setIdpDiscoveryEnabled(true); extendedMetadata.setAlias("entityAlias"); extendedMetadata.setSignMetadata(true); generator.setExtendedMetadata(extendedMetadata); keyManager = new ZoneAwareKeyManager(); generator.setKeyManager(keyManager); }
protected ExtendedMetadata createExtendedMetadata() { return new ExtendedMetadata(); }
/** * Uses provider for normal entity data, tries to locate extended metadata by search in the map, in case it's not found * uses the default. * * @param delegate delegate with available entities * @param defaultMetadata default extended metadata, can be null * @param extendedMetadataMap map, can be null */ public ExtendedMetadataDelegate(MetadataProvider delegate, ExtendedMetadata defaultMetadata, Map<String, ExtendedMetadata> extendedMetadataMap) { super(delegate); if (defaultMetadata == null) { this.defaultMetadata = new ExtendedMetadata(); } else { this.defaultMetadata = defaultMetadata; } this.extendedMetadataMap = extendedMetadataMap; }
/** * Setup the extended metadata for the SAML request. * * @return The extended metadata * @see ExtendedMetadata */ @Bean public ExtendedMetadata extendedMetadata() { return new ExtendedMetadata(); }
@Bean public ExtendedMetadata extendedMetadata() { ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setIdpDiscoveryEnabled(false); extendedMetadata.setSignMetadata(true); return extendedMetadata; }
private ExtendedMetadata extendedMetadata(boolean discoveryEnabled) { ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setIdpDiscoveryEnabled(discoveryEnabled); extendedMetadata.setSignMetadata(true); return extendedMetadata; }
/** * Creates new metadata manager, automatically registers itself for notifications from metadata changes and calls * reload upon a change. Also registers timer which verifies whether metadata needs to be reloaded in a specified * time interval. * <p> * It is mandatory that method afterPropertiesSet is called after the construction. * * @param providers providers to include, mustn't be null or empty * @throws MetadataProviderException error during initialization */ public MetadataManager(List<MetadataProvider> providers) throws MetadataProviderException { super(); this.idpName = new HashSet<String>(); this.spName = new HashSet<String>(); this.defaultExtendedMetadata = new ExtendedMetadata(); availableProviders = new LinkedList<ExtendedMetadataDelegate>(); setProviders(providers); getObservers().add(new MetadataProviderObserver()); }
@Bean public ExtendedMetadata extendedMetadata() { ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setIdpDiscoveryEnabled(true); extendedMetadata.setSignMetadata(false); extendedMetadata.setEcpEnabled(true); return extendedMetadata; }
@Bean public ExtendedMetadata extendedMetadata() { ExtendedMetadata extendedMetadata = new ExtendedMetadata(); extendedMetadata.setIdpDiscoveryEnabled(true); extendedMetadata.setSignMetadata(false); extendedMetadata.setEcpEnabled(true); return extendedMetadata; }
@Bean public ExtendedMetadata extendedMetadata() { ExtendedMetadata metadata = new ExtendedMetadata(); //set flag to true to present user with IDP Selection screen metadata.setIdpDiscoveryEnabled(true); metadata.setRequireLogoutRequestSigned(true); //metadata.setRequireLogoutResponseSigned(true); metadata.setSignMetadata(false); return metadata; }
/** * Generates extended metadata. Default extendedMetadata object is cloned if present and used for defaults. * The following properties are always overriden from the properties of this bean: * discoveryUrl, discoveryResponseUrl, signingKey, encryptionKey, entityAlias and tlsKey. * Property local of the generated metadata is always set to true. * * @return generated extended metadata */ public ExtendedMetadata generateExtendedMetadata() { ExtendedMetadata metadata; if (extendedMetadata != null) { metadata = extendedMetadata.clone(); } else { metadata = new ExtendedMetadata(); } String entityBaseURL = getEntityBaseURL(); String entityAlias = getEntityAlias(); if (isIncludeDiscovery()) { metadata.setIdpDiscoveryURL(getDiscoveryURL(entityBaseURL, entityAlias)); metadata.setIdpDiscoveryResponseURL(getDiscoveryResponseURL(entityBaseURL, entityAlias)); } else { metadata.setIdpDiscoveryURL(null); metadata.setIdpDiscoveryResponseURL(null); } metadata.setLocal(true); return metadata; }