[java-identity-provider] 20/51: IDP-1121 Remove V2 relying party configuration
Rod Widdowson
rdw at steadingsoftware.com
Wed Feb 6 08:42:51 EST 2019
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch master
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=71e358f0a519555b8a3ffb3dcb43b6b9596c9e60
commit 71e358f0a519555b8a3ffb3dcb43b6b9596c9e60
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Tue Dec 11 14:11:29 2018 +0000
IDP-1121 Remove V2 relying party configuration
https://issues.shibboleth.net/jira/browse/IDP-1121
---
.../impl/AbstractRelyingPartyParser.java | 87 -----
.../impl/AnonymousRelyingPartyParser.java | 52 ---
.../impl/DefaultRelyingPartyParser.java | 54 ---
.../relyingparty/impl/RelyingPartyGroupParser.java | 138 --------
.../impl/RelyingPartyNamespaceHandler.java | 38 ---
.../relyingparty/impl/RelyingPartyParser.java | 97 ------
.../spring/relyingparty/impl/package-info.java | 22 --
.../metadata/AbstractMetadataProviderParser.java | 16 +-
.../impl/AllowDelegationPredicateFactoryBean.java | 91 -----
.../impl/BaseSAML2ProfileConfigurationParser.java | 78 -----
.../impl/BaseSAMLProfileConfigurationParser.java | 276 ---------------
.../impl/RelyingPartySAMLNamespaceHandler.java | 52 ---
.../impl/SAML1ArtifactResolutionProfileParser.java | 46 ---
.../impl/SAML1AttributeQueryProfileParser.java | 49 ---
.../impl/SAML2ArtifactResolutionProfileParser.java | 45 ---
.../impl/SAML2AttributeQueryProfileParser.java | 50 ---
.../saml/impl/SAML2BrowserSSOProfileParser.java | 167 ---------
.../saml/impl/SAML2ECPProfileParser.java | 51 ---
.../saml/impl/SAML2LogoutRequestProfileParser.java | 51 ---
.../saml/impl/SAML2SSOSProfileParser.java | 61 ----
.../saml/impl/ShibbolethSSOProfileParser.java | 144 --------
.../relyingparty/saml/impl/package-info.java | 23 --
.../src/main/resources/META-INF/spring.handlers | 2 -
.../spring/relyingparty/MultiSourceFileTest.java | 61 ----
.../spring/relyingparty/RelyingPartyGroupTest.java | 255 --------------
.../spring/relyingparty/RelyingPartyTest.java | 86 -----
.../relyingparty/saml/BaseSAMLProfileTest.java | 104 ------
.../spring/relyingparty/saml/LogoutTest.java | 92 -----
.../relyingparty/saml/SAML1ArtifactTest.java | 70 ----
.../relyingparty/saml/SAML1AttributeQueryTest.java | 80 -----
.../relyingparty/saml/SAML2ArtifactTest.java | 88 -----
.../relyingparty/saml/SAML2AttributeQueryTest.java | 99 ------
.../saml/SAML2BrowserSSOProfileTest.java | 141 --------
.../relyingparty/saml/SAML2ECPProfileTest.java | 112 ------
.../relyingparty/saml/SAML2SSOSProfileTest.java | 40 ---
.../saml/ShibbolethSSOProfileTest.java | 88 -----
.../idp/profile/spring/relyingparty/beans.xml | 160 ---------
.../spring/relyingparty/propertyPlaceholder.xml | 17 -
.../spring/relyingparty/relying-party-group.xml | 240 -------------
.../spring/relyingparty/relying-party-group2.xml | 15 -
.../profile/spring/relyingparty/relying-party.xml | 14 -
.../idp/profile/spring/relyingparty/saml/ecp.xml | 9 -
.../relyingparty/saml/ecpLocalityAddress.xml | 13 -
.../relyingparty/saml/ecpLocalityDNSName.xml | 13 -
.../profile/spring/relyingparty/saml/ecpValues.xml | 15 -
.../profile/spring/relyingparty/saml/logout.xml | 9 -
.../spring/relyingparty/saml/logoutValues.xml | 15 -
.../spring/relyingparty/saml/saml1artifact.xml | 9 -
.../relyingparty/saml/saml1artifactValues.xml | 38 ---
.../relyingparty/saml/saml1attributeQuery.xml | 9 -
.../saml/saml1attributeQueryValues.xml | 15 -
.../profile/spring/relyingparty/saml/saml2SSO.xml | 9 -
.../saml/saml2SSOAllowDelegationPredicate.xml | 39 ---
.../saml2SSOAllowDelegationPropertyReplacement.xml | 36 --
.../spring/relyingparty/saml/saml2SSOValues.xml | 36 --
.../spring/relyingparty/saml/saml2artifact.xml | 12 -
.../relyingparty/saml/saml2artifactValues.xml | 20 --
.../relyingparty/saml/saml2attributeQuery.xml | 9 -
.../saml/saml2attributeQueryValues.xml | 21 --
.../spring/relyingparty/saml/shibbolethSSO.xml | 9 -
.../relyingparty/saml/shibbolethSSOValues.xml | 15 -
.../idp/profile/spring/relyingparty/saml/ssos.xml | 9 -
.../spring/relyingparty/saml/ssosValues.xml | 12 -
.../idp/profile/spring/relyingparty/services.xml | 53 ---
.../schema/shibboleth-relying-party-saml.xsd | 380 ---------------------
.../resources/schema/shibboleth-relying-party.xsd | 145 --------
66 files changed, 2 insertions(+), 4400 deletions(-)
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java
deleted file mode 100644
index bf57c2b..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AbstractRelyingPartyParser.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the common parts of <AnonymousRelyingParty> <DefaultRelyingParty> and <RelyingParty>.
- * Implementations only differ by being named or not (for reference elsewhere) and by the
- * {@link java.util.function.Predicate} which is injected.
- */
-public abstract class AbstractRelyingPartyParser extends AbstractSingleBeanDefinitionParser {
-
- /** Element name. */
- public static final QName PROFILE_CONFIGURATION = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
- "ProfileConfiguration");
-
- /** log. */
- private Logger log = LoggerFactory.getLogger(AbstractRelyingPartyParser.class);
-
- /** {@inheritDoc} */
- @Override protected java.lang.Class<RelyingPartyConfiguration> getBeanClass(final Element element) {
- return RelyingPartyConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- builder.setLazyInit(true);
- super.doParse(element, parserContext, builder);
-
- // defaultSigningCredentialRef, defaultAuthenticationMethod and nameIDFormatPrecedence are dealt with
- // in the specific SSO profileConfigurations.
- // IDP-563: defaultAuthenticationMethod had weird semantics in V2. Warn.
- if (element.hasAttributeNS(null, "defaultAuthenticationMethod")) {
- log.warn("Specific authentication methods may not work for all profiles. defaultAuthenticationMethod='{}'",
- element.getAttributeNS(null, "defaultAuthenticationMethod"));
- }
-
- final String provider = StringSupport.trimOrNull(element.getAttributeNS(null, "provider"));
- builder.addPropertyValue("responderId", provider);
-
- final String detailedErrors = StringSupport.trimOrNull(element.getAttributeNS(null, "detailedErrors"));
- if (null != detailedErrors) {
- builder.addPropertyValue("detailedErrors", detailedErrors);
- }
-
- final List<BeanDefinition> profileConfigurations =
- SpringSupport.parseCustomElements(ElementSupport.getChildElements(element, PROFILE_CONFIGURATION),
- parserContext);
- builder.addPropertyValue("profileConfigurations", profileConfigurations);
-
- builder.setInitMethodName("initialize");
- builder.setDestroyMethodName("destroy");
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java
deleted file mode 100644
index 5277c8b..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/AnonymousRelyingPartyParser.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the <rp:AnonymousRelyingParty> element. <br/>
- * The {@link java.util.function.Predicate} which is injected looks to see if there is metadata associated with the
- * RelyingParty and if so says TRUE.
- */
-public class AnonymousRelyingPartyParser extends AbstractRelyingPartyParser {
-
- /** Element name. */
- public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
- "AnonymousRelyingParty");
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- builder.addPropertyValue("id", "AnonymousRelyingParty");
- // We don't set an activationCondition property because the anonymous/unverified case is a special one.
- }
-
- /** {@inheritDoc} */
- @Override protected boolean shouldGenerateId() {
- return true;
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java
deleted file mode 100644
index 86ea149..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/DefaultRelyingPartyParser.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-import com.google.common.base.Predicates;
-
-/**
- * Parser for the <rp:AnonymousRelyingParty> element. <br/>
- * The {@link java.util.function.Predicate} which is injected is AlwaysTrue. The {@link RelyingPartyGroupParser}
- * takes care to ensure that this element is always at the end of the list, thus implementing Default semantics.
- */
-public class DefaultRelyingPartyParser extends AbstractRelyingPartyParser {
-
- /** Element name. */
- public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE,
- "DefaultRelyingParty");
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- builder.addPropertyValue("id", "DefaultRelyingParty");
- builder.addPropertyValue("activationCondition", Predicates.alwaysTrue());
- }
-
- /** {@inheritDoc} */
- @Override protected boolean shouldGenerateId() {
- return true;
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java
deleted file mode 100644
index 827dc26..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyGroupParser.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.MetadataNamespaceHandler;
-import net.shibboleth.idp.profile.spring.relyingparty.security.impl.SecurityNamespaceHandler;
-import net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport;
-import net.shibboleth.utilities.java.support.primitive.DeprecationSupport.ObjectType;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.opensaml.security.x509.tls.impl.BasicClientTLSValidationConfiguration;
-import org.opensaml.xmlsec.impl.BasicSignatureValidationConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for <RelyingPartyGroup>
- *
- * <p>
- * This parser summons up two beans: a {@link DefaultRelyingPartyConfigurationResolver} which deals with the
- * RelyingParty bit of the file, and a series of {@link org.opensaml.saml.metadata.resolver.MetadataResolver}s which
- * deal with the metadata configuration.
- * </p>
- */
-public class RelyingPartyGroupParser extends AbstractSingleBeanDefinitionParser {
-
- /** {@inheritDoc} */
- @Override protected Class<DefaultRelyingPartyConfigurationResolver> getBeanClass(final Element element) {
- return DefaultRelyingPartyConfigurationResolver.class;
- }
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
- final Map<QName, List<Element>> configChildren = ElementSupport.getIndexedChildElements(element);
- builder.setLazyInit(true);
- builder.setInitMethodName("initialize");
- builder.setDestroyMethodName("destroy");
-
- DeprecationSupport.warn(ObjectType.ELEMENT,
- AbstractMetadataProviderParser.RELYING_PARTY_GROUP_ELEMENT_NAME.toString(),
- parserContext.getReaderContext().getResource().getDescription(),
- "via updated RelyingParty configuration");
-
- builder.addPropertyValue("id", "RelyingPartyGroup["
- + parserContext.getReaderContext().getResource().getFilename() + "]");
-
- seDefaultSecurityConfiguration(builder);
-
- // All the Relying Parties
- final List<BeanDefinition> relyingParties =
- SpringSupport.parseCustomElements(configChildren.get(RelyingPartyParser.ELEMENT_NAME), parserContext);
- if (null != relyingParties && relyingParties.size() > 0) {
- builder.addPropertyValue("relyingPartyConfigurations", relyingParties);
- }
- final List<BeanDefinition> defaultRps =
- SpringSupport.parseCustomElements(configChildren.get(DefaultRelyingPartyParser.ELEMENT_NAME),
- parserContext);
- builder.addPropertyValue("defaultConfiguration", defaultRps.get(0));
-
- final List<BeanDefinition> anonRps =
- SpringSupport.parseCustomElements(configChildren.get(AnonymousRelyingPartyParser.ELEMENT_NAME),
- parserContext);
- builder.addPropertyValue("unverifiedConfiguration", anonRps.get(0));
-
- // Metadata
- SpringSupport.parseCustomElements(configChildren.get(MetadataNamespaceHandler.METADATA_ELEMENT_NAME),
- parserContext);
-
- // <Credential> (for metadata & signing)
- SpringSupport.parseCustomElements(configChildren.get(SecurityNamespaceHandler.CREDENTIAL_ELEMENT_NAME),
- parserContext);
- // <TrustEngine> (for metadata)
- SpringSupport.parseCustomElements(configChildren.get(AbstractMetadataProviderParser.TRUST_ENGINE_ELEMENT_NAME),
- parserContext);
-
- }
-
- /** {@inheritDoc} */
- @Override protected boolean shouldGenerateId() {
- return true;
- }
-
- /**
- * Setup the default {@link SecurityConfiguration} for the resolver to establish default trust engines to use.
- *
- * @param builder the builder for the resolver
- */
- private void seDefaultSecurityConfiguration(final BeanDefinitionBuilder builder) {
-
- final BeanDefinitionBuilder signatureValidationConfig =
- BeanDefinitionBuilder.genericBeanDefinition(BasicSignatureValidationConfiguration.class);
- signatureValidationConfig.addPropertyReference("signatureTrustEngine", "shibboleth.SignatureTrustEngine");
-
- final BeanDefinitionBuilder tlsValidationConfig =
- BeanDefinitionBuilder.genericBeanDefinition(BasicClientTLSValidationConfiguration.class);
- tlsValidationConfig.addPropertyReference("x509TrustEngine", "shibboleth.X509TrustEngine");
-
- final BeanDefinitionBuilder configuration =
- BeanDefinitionBuilder.genericBeanDefinition(SecurityConfiguration.class);
- configuration.addPropertyValue("signatureValidationConfiguration",
- signatureValidationConfig.getBeanDefinition());
- configuration.addPropertyValue("clientTLSValidationConfiguration", tlsValidationConfig.getBeanDefinition());
-
- builder.addPropertyValue("defaultSecurityConfiguration", configuration.getBeanDefinition());
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java
deleted file mode 100644
index 95bba97..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyNamespaceHandler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-
-/** Namespace handler for the relying party files. Only the elements need to be handled.
- All the types belong in the SAML namespace. */
-public class RelyingPartyNamespaceHandler extends BaseSpringNamespaceHandler {
-
- /** {@inheritDoc} */
- @Override public void init() {
- // Relying party Configuration
- // Firstly the types that go inside the Profile
- registerBeanDefinitionParser(RelyingPartyParser.ELEMENT_NAME, new RelyingPartyParser());
- registerBeanDefinitionParser(DefaultRelyingPartyParser.ELEMENT_NAME, new DefaultRelyingPartyParser());
- registerBeanDefinitionParser(AnonymousRelyingPartyParser.ELEMENT_NAME, new AnonymousRelyingPartyParser());
-
- registerBeanDefinitionParser(AbstractMetadataProviderParser.RELYING_PARTY_GROUP_ELEMENT_NAME,
- new RelyingPartyGroupParser());
- }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java
deleted file mode 100644
index f8caad4..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/RelyingPartyParser.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.profile.logic.RelyingPartyIdPredicate;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataProviderParser;
-import net.shibboleth.idp.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
-import net.shibboleth.utilities.java.support.logic.FunctionSupport;
-import net.shibboleth.utilities.java.support.logic.PredicateSupport;
-import net.shibboleth.utilities.java.support.logic.StrategyIndirectedPredicate;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.opensaml.saml.common.messaging.context.navigate.EntityDescriptorLookupFunction;
-import org.opensaml.saml.common.profile.logic.EntityGroupNamePredicate;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for the <rp:RelyingParty> element.
- */
-public class RelyingPartyParser extends AbstractRelyingPartyParser {
-
- /** Element name. */
- public static final QName ELEMENT_NAME = new QName(AbstractMetadataProviderParser.RP_NAMESPACE, "RelyingParty");
-
- /**
- * {@inheritDoc} The construction of the activation Condition is more complicated than one might suppose. The
- * definition is that if the it matches the relyingPartyID *or* it matches the <EntitiesDescriptor>, then the
- * configuration matches. So we need to
- * {@link PredicateSupport#or(java.util.function.Predicate, java.util.function.Predicate)} a
- * {@link RelyingPartyIdPredicate} and an {@link EntityGroupNamePredicate} These however may have injected lookup
- * strategies and so these need to be constructed as a BeanDefinition.
- * */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- final String id = StringSupport.trimOrNull(element.getAttributeNS(null, "id"));
- builder.addPropertyValue("id", id);
-
- final List<String> ids = new ManagedList<>(1);
- ids.add(id);
-
- // This is a simple predicate acting directly on the RelyingPartyContext.
- final BeanDefinitionBuilder rpPredicate =
- BeanDefinitionBuilder.genericBeanDefinition(RelyingPartyIdPredicate.class);
- rpPredicate.addConstructorArgValue(ids);
-
- // This is the complex predicate to apply to the EntityDescriptor buried inside the context.
- final BeanDefinitionBuilder egPredicate =
- BeanDefinitionBuilder.genericBeanDefinition(EntityGroupNamePredicate.class);
- egPredicate.addConstructorArgValue(ids);
-
- // This is a lookup function composition to get from the PRC to the SAMLMetadataContext.
- final BeanDefinitionBuilder lookupFunction =
- BeanDefinitionBuilder.rootBeanDefinition(FunctionSupport.class, "compose");
- lookupFunction.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition(
- EntityDescriptorLookupFunction.class).getBeanDefinition());
- lookupFunction.addConstructorArgValue(BeanDefinitionBuilder.genericBeanDefinition(
- SAMLMetadataContextLookupFunction.class).getBeanDefinition());
-
- // And this indirects the predicate to apply to the result of the lookup.
- final BeanDefinitionBuilder indirectPredicate =
- BeanDefinitionBuilder.genericBeanDefinition(StrategyIndirectedPredicate.class);
- indirectPredicate.addConstructorArgValue(lookupFunction.getBeanDefinition());
- indirectPredicate.addConstructorArgValue(egPredicate.getBeanDefinition());
-
- final BeanDefinitionBuilder orPredicate = BeanDefinitionBuilder.genericBeanDefinition(PredicateSupport.class);
- orPredicate.setFactoryMethod("or");
- orPredicate.addConstructorArgValue(rpPredicate.getBeanDefinition());
- orPredicate.addConstructorArgValue(indirectPredicate.getBeanDefinition());
-
- builder.addPropertyValue("activationCondition", orPredicate.getBeanDefinition());
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java
deleted file mode 100644
index 72e68a6..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/impl/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Parsers for the <RelyingParty> urn:mace:shibboleth:2.0:relying-party schema.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.impl;
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
index d84d150..f7050a2 100644
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
+++ b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/metadata/AbstractMetadataProviderParser.java
@@ -52,8 +52,6 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
/** Namespace for Security. */
public static final String SECURITY_NAMESPACE = "urn:mace:shibboleth:2.0:security";
- /** Namespace for RelyingParty. */
- public static final String RP_NAMESPACE = "urn:mace:shibboleth:2.0:relying-party";
/** Namespace for Metadata. */
public static final String METADATA_NAMESPACE = "urn:mace:shibboleth:2.0:metadata";
@@ -63,8 +61,6 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
public static final QName CHAINING_PROVIDER_ELEMENT_NAME =
new QName(METADATA_NAMESPACE, "ChainingMetadataProvider");
/** RelyingPartyGroup Element name. */
- public static final QName RELYING_PARTY_GROUP_ELEMENT_NAME = new QName(RP_NAMESPACE, "RelyingPartyGroup");
- /** TrustEngine element name. */
public static final QName TRUST_ENGINE_ELEMENT_NAME = new QName(SECURITY_NAMESPACE, "TrustEngine");
/** Logger. */
@@ -94,7 +90,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
}
/**
- * Is this the element at the top of the file? Yes, if it has no parent or if the parent is a RelyingPartyGroup. In
+ * Is this the element at the top of the file? Yes, if it has no parent. In
* this situation we need to wrap the element in a {@link RelyingPartyMetadataProvider}.
*
* @param element the element.
@@ -103,15 +99,7 @@ public abstract class AbstractMetadataProviderParser extends AbstractSingleBeanD
private boolean isTopMost(@Nonnull final Element element) {
final Node parent = element.getParentNode();
- if (parent.getNodeType() == Node.DOCUMENT_NODE) {
- return true;
- }
-
- if (parent.getNodeType() != Node.ELEMENT_NODE) {
- return false;
- }
- return RELYING_PARTY_GROUP_ELEMENT_NAME.getLocalPart().equals(parent.getLocalName())
- && RELYING_PARTY_GROUP_ELEMENT_NAME.getNamespaceURI().equals(parent.getNamespaceURI());
+ return parent.getNodeType() == Node.DOCUMENT_NODE;
}
/**
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java
deleted file mode 100644
index 65ced19..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/AllowDelegationPredicateFactoryBean.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.function.Predicate;
-
-import javax.annotation.Nullable;
-
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.FactoryBean;
-
-import com.google.common.base.Predicates;
-
-/**
- * Factory bean for producing a delegation {@link Predicate} from multiple inputs.
- */
-public class AllowDelegationPredicateFactoryBean implements FactoryBean<Predicate<ProfileRequestContext>> {
-
- /** Logger. */
- private Logger log = LoggerFactory.getLogger(AllowDelegationPredicateFactoryBean.class);
-
- /** Delegation boolean attribute value. */
- private Boolean allowDelegation;
-
- /** Delegation predicate attribute bean ref. */
- private Predicate<ProfileRequestContext> allowDelegationPredicate;
-
- /**
- * Set the delegation boolean attribute value.
- *
- * @param flag delegation attribute value
- */
- public void setAllowDelegation(@Nullable final Boolean flag) {
- allowDelegation = flag;
- }
-
- /**
- * Set the delegation predicate attribute bean ref.
- *
- * @param predicate delegation predicate
- */
- public void setAllowDelegationPredicate(@Nullable final Predicate<ProfileRequestContext> predicate) {
- allowDelegationPredicate = predicate;
- }
-
- /** {@inheritDoc} */
- public Class<?> getObjectType() {
- return Predicate.class;
- }
-
- /** {@inheritDoc} */
- public boolean isSingleton() {
- return false;
- }
-
- /** {@inheritDoc} */
- public Predicate<ProfileRequestContext> getObject() throws Exception {
- if (allowDelegationPredicate != null) {
- if (allowDelegation != null) {
- log.warn("Attribute 'allowDelegation' is being ignored in favor of 'allowDelegationPredicateRef'");
- }
- return allowDelegationPredicate;
- } else if (allowDelegation != null) {
- if (allowDelegation) {
- return Predicates.alwaysTrue();
- } else {
- return Predicates.alwaysFalse();
- }
- } else {
- return Predicates.alwaysFalse();
- }
- }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java
deleted file mode 100644
index f451074..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAML2ProfileConfigurationParser.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser for all classes which extend
- * {@link net.shibboleth.idp.saml.saml2.profile.config.AbstractSAML2ProfileConfiguration} and for elements which inherit
- * from <code>saml:SAML2ProfileConfigutationType</code>.
- */
-public abstract class BaseSAML2ProfileConfigurationParser extends BaseSAMLProfileConfigurationParser {
-
- /**
- * Get the list of proxy audiences from the <ProxyAudience> sub-elements.
- *
- * @param element the element under discussion
- * @return the list of elements (which are subject to property replacement)
- */
- protected List<String> getProxyAudiences(final Element element) {
- final List<Element> audienceElems =
- ElementSupport.getChildElementsByTagNameNS(element, RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "ProxyAudience");
- return SpringSupport.getElementTextContentAsManagedList(audienceElems);
- }
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- if (element.hasAttributeNS(null, "encryptionOptional")) {
- builder.addPropertyValue("encryptionOptional",
- StringSupport.trimOrNull(element.getAttributeNS(null, "encryptionOptional")));
- }
-
- if (element.hasAttributeNS(null, "encryptAssertions")) {
- builder.addPropertyValue("encryptAssertions", predicateForEncryption(
- StringSupport.trimOrNull(element.getAttributeNS(null, "encryptAssertions"))));
- }
- if (element.hasAttributeNS(null, "encryptNameIds")) {
- builder.addPropertyValue("encryptNameIDs", predicateForEncryption(
- StringSupport.trimOrNull(element.getAttributeNS(null, "encryptNameIds"))));
- }
- if (element.hasAttributeNS(null, "encryptAttributes")) {
- builder.addPropertyValue("encryptAttributes", predicateForEncryption(
- StringSupport.trimOrNull(element.getAttributeNS(null, "encryptAttributes"))));
- }
- if (element.hasAttributeNS(null, "assertionProxyCount")) {
- builder.addPropertyValue("proxyCount",
- StringSupport.trimOrNull(element.getAttributeNS(null, "assertionProxyCount")));
- }
- builder.addPropertyValue("proxyAudiences", getProxyAudiences(element));
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java
deleted file mode 100644
index 0c506f5..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/BaseSAMLProfileConfigurationParser.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-import java.util.function.Predicate;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.saml.profile.config.BasicSAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.profile.config.logic.LegacyEncryptionRequirementPredicate;
-import net.shibboleth.idp.saml.profile.config.logic.LegacySigningRequirementPredicate;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.ElementSupport;
-
-import org.opensaml.xmlsec.impl.BasicSignatureSigningConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser for all classes which extend {@link net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration}
- * and for elements which inherit from <code>saml:SAMLProfileConfigutationType</code>.
- */
-public abstract class BaseSAMLProfileConfigurationParser extends AbstractSingleBeanDefinitionParser {
-
- /** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(BaseSAMLProfileConfigurationParser.class);
-
- /** Flag controlling whether to parse artifact configuration. */
- private boolean artifactAware;
-
- /**
- * Set whether to parse artifact configuration.
- *
- * @param flag flag to set
- */
- protected void setArtifactAware(final boolean flag) {
- artifactAware = flag;
- }
-
- /**
- * Construct the builder for the artifact configuration.
- *
- * @param element The element under consideration
- * @return the builder.
- *
- */
- @Nullable protected BeanDefinition getArtifactConfiguration(final Element element) {
-
- final BeanDefinitionBuilder definition =
- BeanDefinitionBuilder.genericBeanDefinition(BasicSAMLArtifactConfiguration.class);
-
- if (element.hasAttributeNS(null, "artifactType")) {
- definition.addPropertyValue("artifactType",
- StringSupport.trimOrNull(element.getAttributeNS(null, "artifactType")));
- }
-
- if (element.hasAttributeNS(null, "artifactResolutionServiceURL")) {
- definition.addPropertyValue("artifactResolutionServiceURL",
- StringSupport.trimOrNull(element.getAttributeNS(null, "artifactResolutionServiceURL")));
- }
-
- if (element.hasAttributeNS(null, "artifactResolutionServiceIndex")) {
- definition.addPropertyValue("artifactResolutionServiceIndex",
- StringSupport.trimOrNull(element.getAttributeNS(null, "artifactResolutionServiceIndex")));
- } else {
- definition.addPropertyReference("artifactResolutionServiceIndex", getProfileBeanNamePrefix()
- + "ArtifactServiceIndex");
- }
-
- return definition.getBeanDefinition();
- }
-
- /**
- * Return the definition describing the predicate associated with the provided value, using the default if none
- * specified.
- *
- * @param value the value as a string should be "always", "conditional", "never"
- * @param claz the predicate type to summon up (one of {@link LegacySigningRequirementPredicate} or
- * {@link LegacyEncryptionRequirementPredicate}
- * @return the bean for the appropriate predicate.
- */
- @Nonnull private BeanDefinition predicateFor(@Nullable final String value, final Class<? extends Predicate> claz) {
-
- final BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(claz);
- builder.addConstructorArgValue(StringSupport.trimOrNull(value));
-
- return builder.getBeanDefinition();
- }
-
- /**
- * Return the definition of the predicate for signing derived from the provided string.
- *
- * @param value the value
- * @return the definition of an appropriate {@link LegacySigningRequirementPredicate}
- */
- @Nonnull protected BeanDefinition predicateForSigning(@Nullable final String value) {
- return predicateFor(value, LegacySigningRequirementPredicate.class);
- }
-
- /**
- * Return the definition of the predicate for encryption derived from the provided string.
- *
- * @param value the value
- * @return the definition of an appropriate {@link LegacyEncryptionRequirementPredicate}
- */
- @Nonnull protected BeanDefinition predicateForEncryption(@Nullable final String value) {
- return predicateFor(value, LegacyEncryptionRequirementPredicate.class);
- }
-
- /**
- * Get the list of audiences from the <Audience> sub-elements.
- *
- * @param element the element under discussion
- * @return the list of elements (which are subject to property replacement)
- */
- protected List<String> getAudiences(final Element element) {
- final List<Element> audienceElems =
- ElementSupport.getChildElementsByTagNameNS(element, RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "Audience");
- return SpringSupport.getElementTextContentAsManagedList(audienceElems);
- }
-
- /**
- * Setup the {@link SecurityConfiguration} for this profile. We look first at the embedded beans for a bean of the
- * correct type. Failing that we look for a defaultSigningCredential.
- *
- * @param element the element with the profile in it
- * @param builder the builder for the profile
- * @param parserContext the parser context
- */
-//CheckStyle: ReturnCount OFF
- private void setSecurityConfiguration(final Element element, final BeanDefinitionBuilder builder,
- final ParserContext parserContext) {
-
- final String credentialRef;
- if (element.hasAttributeNS(null, "signingCredentialRef")) {
- credentialRef = StringSupport.trimOrNull(element.getAttributeNS(null, "signingCredentialRef"));
- log.debug("using explicit signing credential reference {}", credentialRef);
- } else {
- log.debug("Looking for default signing credential reference");
-
- final Node parentNode = element.getParentNode();
- if (parentNode == null) {
- log.debug("no parent to ProfileConfiguration, no defaultSigningCredential set");
- return;
- }
- if (!(parentNode instanceof Element)) {
- log.debug("parent of ProfileConfiguration was unrecognizable, no defaultSigningCredential set");
- return;
- }
-
- final Element relyingParty = (Element) parentNode;
- if (!relyingParty.hasAttributeNS(null, "defaultSigningCredentialRef")) {
- // no defaults
- return;
- }
- credentialRef = StringSupport.trimOrNull(relyingParty.getAttributeNS(null, "defaultSigningCredentialRef"));
- log.debug("Using default signing credential reference '{}'", credentialRef);
- }
-
- final BeanDefinitionBuilder signingConfiguration =
- BeanDefinitionBuilder.genericBeanDefinition(BasicSignatureSigningConfiguration.class);
- signingConfiguration.addPropertyReference("signingCredentials", credentialRef);
-
- final BeanDefinitionBuilder configuration =
- BeanDefinitionBuilder.genericBeanDefinition(SecurityConfiguration.class);
- configuration.addPropertyValue("signatureSigningConfiguration", signingConfiguration.getBeanDefinition());
-
- builder.addPropertyValue("securityConfiguration", configuration.getBeanDefinition());
- }
- //CheckStyle: ReturnCount ON
-
- /** {@inheritDoc} */
- // Checkstyle: CyclomaticComplexity OFF
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- builder.setLazyInit(true);
-
- log.debug("Parsing Legacy SAML profile. Destination type: '{}'", builder.getBeanDefinition().getBeanClass()
- .getName());
- setSecurityConfiguration(element, builder, parserContext);
-
- if (element.hasAttributeNS(null, "assertionLifetime")) {
- // Set as a string and let the converter to the work
- builder.addPropertyValue("assertionLifetime", StringSupport.trimOrNull(StringSupport.trimOrNull(element
- .getAttributeNS(null, "assertionLifetime"))));
- }
-
- if (element.hasAttributeNS(null, "includeConditionsNotBefore")) {
- builder.addPropertyValue("includeConditionsNotBefore", StringSupport.trimOrNull(StringSupport
- .trimOrNull(element.getAttributeNS(null, "includeConditionsNotBefore"))));
- }
-
- if (artifactAware) {
- builder.addPropertyValue("artifactConfiguration", getArtifactConfiguration(element));
- }
-
- if (element.hasAttributeNS(null, "attributeAuthority")) {
- log.warn("Deprecated attribute 'attributeAuthority=\"{}\"' has been ignored", StringSupport
- .trimOrNull(StringSupport.trimOrNull(element.getAttributeNS(null, "attributeAuthority"))));
- }
-
- if (element.hasAttributeNS(null, "securityPolicyRef")) {
- log.warn("Deprecated attribute 'securityPolicyRef=\"{}\"' has been ignored",
- StringSupport.trimOrNull(element.getAttributeNS(null, "securityPolicyRef")));
- }
-
- if (element.hasAttributeNS(null, "outboundArtifactType")) {
- log.warn("Deprecated attribute 'outboundArtifactType=\"{}\"' has been ignored",
- StringSupport.trimOrNull(element.getAttributeNS(null, "outboundArtifactType")));
- }
-
- // Install a defaulted flow ID for inbound security policy handling.
- // TODO: is there a better way to install a list containing a bean reference?
- builder.addPropertyReference("inboundInterceptorFlows", getProfileBeanNamePrefix() + "InboundFlowId");
-
- // Inject aliased servlet request to avoid warnings in newer versions.
- builder.addPropertyReference("servletRequest", getProfileBeanNamePrefix() + "ServletRequest");
-
- if (element.hasAttributeNS(null, "signAssertions")) {
- builder.addPropertyValue("signAssertions",
- predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signAssertions"))));
- }
- if (element.hasAttributeNS(null, "signRequests")) {
- builder.addPropertyValue("signRequests",
- predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signRequests"))));
- }
- if (element.hasAttributeNS(null, "signResponses")) {
- builder.addPropertyValue("signResponses",
- predicateForSigning(StringSupport.trimOrNull(element.getAttributeNS(null, "signResponses"))));
- }
- builder.addPropertyValue("additionalAudiencesForAssertion", getAudiences(element));
- }
-
- // Checkstyle: CyclomaticComplexity ON
-
- /** {@inheritDoc} */
- @Override protected boolean shouldGenerateId() {
- return true;
- }
-
- /**
- * Get the prefix for the default beans. This prefix will have one of servlet hard-wired default property names
- * appended as a bean name.
- *
- * @return the prefix
- */
- protected abstract String getProfileBeanNamePrefix();
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java
deleted file mode 100644
index 0087620..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/RelyingPartySAMLNamespaceHandler.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import net.shibboleth.ext.spring.util.BaseSpringNamespaceHandler;
-
-/**
- * Namespace handler for the Relying Party SAML configuration. Just Types (since the Elements are
- * handled by the repective parsers).
- */
-public class RelyingPartySAMLNamespaceHandler extends BaseSpringNamespaceHandler {
-
- /** Namespace for this handler. */
- public static final String NAMESPACE = "urn:mace:shibboleth:2.0:relying-party:saml";
-
- /** {@inheritDoc} */
- @Override public void init() {
- // SAML2
- registerBeanDefinitionParser(SAML2ArtifactResolutionProfileParser.TYPE_NAME,
- new SAML2ArtifactResolutionProfileParser());
- registerBeanDefinitionParser(SAML2LogoutRequestProfileParser.TYPE_NAME,
- new SAML2LogoutRequestProfileParser());
- registerBeanDefinitionParser(SAML2AttributeQueryProfileParser.TYPE_NAME,
- new SAML2AttributeQueryProfileParser());
- registerBeanDefinitionParser(SAML2BrowserSSOProfileParser.TYPE_NAME, new SAML2BrowserSSOProfileParser());
- registerBeanDefinitionParser(SAML2ECPProfileParser.TYPE_NAME, new SAML2ECPProfileParser());
- registerBeanDefinitionParser(SAML2SSOSProfileParser.TYPE_NAME, new SAML2SSOSProfileParser());
- // SAML1
- registerBeanDefinitionParser(SAML1ArtifactResolutionProfileParser.TYPE_NAME,
- new SAML1ArtifactResolutionProfileParser());
- registerBeanDefinitionParser(SAML1AttributeQueryProfileParser.TYPE_NAME,
- new SAML1AttributeQueryProfileParser());
- // Propietary
- registerBeanDefinitionParser(ShibbolethSSOProfileParser.TYPE_NAME, new ShibbolethSSOProfileParser());
-
- }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java
deleted file mode 100644
index ba52bdf..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1ArtifactResolutionProfileParser.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ArtifactResolutionProfileConfiguration} from a
- * <code>saml:SAML1ArtifactResolutionProfile</code>.
- */
-public class SAML1ArtifactResolutionProfileParser extends BaseSAMLProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML1ArtifactResolutionProfile");
-
- /** {@inheritDoc} */
- @Override protected Class<ArtifactResolutionProfileConfiguration> getBeanClass(final Element element) {
- return ArtifactResolutionProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML1.Artifact.";
- }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java
deleted file mode 100644
index f6267f1..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML1AttributeQueryProfileParser.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link AttributeQueryProfileConfiguration} from a <code>saml:SAML1AttributeQueryProfile</code>.
- */
-public class SAML1AttributeQueryProfileParser extends BaseSAMLProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML1AttributeQueryProfile");
-
- /** Constructor. */
- public SAML1AttributeQueryProfileParser() {
- setArtifactAware(true);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<AttributeQueryProfileConfiguration> getBeanClass(final Element element) {
- return AttributeQueryProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML1.AttributeQuery.";
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java
deleted file mode 100644
index 02715da..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ArtifactResolutionProfileParser.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ArtifactResolutionProfileConfiguration} from a
- * <code>saml:SAML2ArtifactResolutionProfile</code>.
- */
-public class SAML2ArtifactResolutionProfileParser extends BaseSAML2ProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML2ArtifactResolutionProfile");
-
- /** {@inheritDoc} */
- @Override protected Class<ArtifactResolutionProfileConfiguration> getBeanClass(final Element element) {
- return ArtifactResolutionProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.Artifact.";
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java
deleted file mode 100644
index 4a13bec..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2AttributeQueryProfileParser.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link AttributeQueryProfileConfiguration} from a
- * <code>saml:SAML2ArtifactResolutionProfile</code>.
- */
-public class SAML2AttributeQueryProfileParser extends BaseSAML2ProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML2AttributeQueryProfile");
-
- /** Constructor. */
- public SAML2AttributeQueryProfileParser() {
- setArtifactAware(true);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<AttributeQueryProfileConfiguration> getBeanClass(final Element element) {
- return AttributeQueryProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.AttributeQuery.";
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
deleted file mode 100644
index bb33e57..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2BrowserSSOProfileParser.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.ext.spring.util.SpringSupport;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.springframework.beans.factory.parsing.Location;
-import org.springframework.beans.factory.parsing.Problem;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser to generate {@link BrowserSSOProfileConfiguration} from a <code>saml:SAML2SSOProfile</code>.
- */
-public class SAML2BrowserSSOProfileParser extends BaseSAML2ProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE, "SAML2SSOProfile");
-
- /** logger. */
- private Logger log = LoggerFactory.getLogger(SAML2BrowserSSOProfileParser.class);
-
- /** Constructor. */
- public SAML2BrowserSSOProfileParser() {
- setArtifactAware(true);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<? extends BrowserSSOProfileConfiguration> getBeanClass(final Element element) {
- return BrowserSSOProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.BrowserSSO.";
- }
-
- /**
- * We need to extract the defaultAuthenticationMethod and nameIDFormatPrecedence from the parent element, which will
- * be a <RelyingParty>. If there is no parent we set nothing.
- *
- * @param element The <rp:ProfileConfiguration> element
- * @param builder The builder in which to set the
- */
-//CheckStyle: ReturnCount OFF
- private void setPropertiesFromRelyingParty(@Nonnull final Element element,
- @Nonnull final BeanDefinitionBuilder builder) {
-
- final Node parentNode = element.getParentNode();
- if (parentNode == null) {
- log.warn("no parent to ProfileConfiguration, no defaultAuthenticationMethod set");
- return;
- }
- if (!(parentNode instanceof Element)) {
- log.warn("parent of ProfileConfiguration was unrecognizable, no defaultAuthenticationMethod set");
- return;
- }
- final Element parent = (Element) parentNode;
-
- if (parent.hasAttributeNS(null, "defaultAuthenticationMethod")) {
- final String method = StringSupport.trimOrNull(parent.getAttributeNS(null, "defaultAuthenticationMethod"));
-
- if (null == method) {
- return;
- }
-
- final BeanDefinitionBuilder methodBuilder =
- BeanDefinitionBuilder.genericBeanDefinition(AuthnContextClassRefPrincipal.class);
- methodBuilder.addConstructorArgValue(method);
-
- final List<BeanDefinition> methodsList = new ManagedList<>(1);
- methodsList.add(methodBuilder.getBeanDefinition());
- builder.addPropertyValue("defaultAuthenticationMethods", methodsList);
- }
-
- if (parent.hasAttributeNS(null, "nameIDFormatPrecedence")) {
- builder.addPropertyValue("nameIDFormatPrecedence", SpringSupport.getAttributeValueAsManagedList(parent
- .getAttributeNodeNS(null, "nameIDFormatPrecedence")));
- }
- }
- //CheckStyle: ReturnCount ON
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- if (element.hasAttributeNS(null, "localityAddress")) {
- log.error("Deprecated attribute 'localityAddress' is being ignored");
- throw new BeanDefinitionParsingException(new Problem(
- "Deprecated attribute 'localityAddress' is being ignored", new Location(parserContext
- .getReaderContext().getResource())));
- }
-
- if (element.hasAttributeNS(null, "localityDNSName")) {
- log.error("Deprecated attribute 'localityDNSName' is being ignored");
- throw new BeanDefinitionParsingException(new Problem(
- "Deprecated attribute 'localityDNSName' is being ignored", new Location(parserContext
- .getReaderContext().getResource())));
- }
-
- if (element.hasAttributeNS(null, "includeAttributeStatement")) {
- builder.addPropertyValue("includeAttributeStatement",
- StringSupport.trimOrNull(element.getAttributeNS(null, "includeAttributeStatement")));
- }
-
- if (element.hasAttributeNS(null, "maximumSPSessionLifetime")) {
- builder.addPropertyValue("maximumSPSessionLifetime",
- StringSupport.trimOrNull(element.getAttributeNS(null, "maximumSPSessionLifetime")));
- }
-
- if (element.hasAttributeNS(null, "skipEndpointValidationWhenSigned")) {
- builder.addPropertyValue("skipEndpointValidationWhenSigned",
- StringSupport.trimOrNull(element.getAttributeNS(null, "skipEndpointValidationWhenSigned")));
- }
-
- final BeanDefinitionBuilder allowDelegationPredicateBuilder =
- BeanDefinitionBuilder.genericBeanDefinition(AllowDelegationPredicateFactoryBean.class);
- if (element.hasAttributeNS(null, "allowDelegation")) {
- allowDelegationPredicateBuilder.addPropertyValue("allowDelegation",
- element.getAttributeNS(null, "allowDelegation"));
- }
- if (element.hasAttributeNS(null, "allowDelegationPredicateRef")) {
- allowDelegationPredicateBuilder.addPropertyReference("allowDelegationPredicate",
- element.getAttributeNS(null, "allowDelegationPredicateRef"));
- }
- builder.addPropertyValue("allowDelegation", allowDelegationPredicateBuilder.getBeanDefinition());
-
- if (element.hasAttributeNS(null, "maximumTokenDelegationChainLength")) {
- builder.addPropertyValue("maximumTokenDelegationChainLength",
- StringSupport.trimOrNull(element.getAttributeNS(null, "maximumTokenDelegationChainLength")));
- }
-
- setPropertiesFromRelyingParty(element, builder);
- }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java
deleted file mode 100644
index fadeb69..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2ECPProfileParser.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link ECPProfileConfiguration} from a
- * <code>saml:SAML2ECPProfile</code>.
- */
-public class SAML2ECPProfileParser extends SAML2BrowserSSOProfileParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML2ECPProfile");
-
- /** Constructor. */
- public SAML2ECPProfileParser() {
- setArtifactAware(false);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<ECPProfileConfiguration> getBeanClass(final Element element) {
- return ECPProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.ECP.";
- }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java
deleted file mode 100644
index d5a15cb..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2LogoutRequestProfileParser.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
-
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link SingleLogoutProfileConfiguration} from a
- * <code>saml:SAML2LogoutRequestProfile</code>.
- */
-public class SAML2LogoutRequestProfileParser extends BaseSAML2ProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "SAML2LogoutRequestProfile");
-
- /** Constructor. */
- public SAML2LogoutRequestProfileParser() {
- setArtifactAware(true);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<SingleLogoutProfileConfiguration> getBeanClass(final Element element) {
- return SingleLogoutProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.Logout.";
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java
deleted file mode 100644
index 4d0d7c2..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/SAML2SSOSProfileParser.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-
-/**
- * Parser to generate {@link SSOSProfileConfiguration} from a <code>saml:SAML2SSOSProfile</code>.
- */
-public class SAML2SSOSProfileParser extends SAML2BrowserSSOProfileParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE, "SAML2SSOSProfile");
-
- /** Constructor. */
- public SAML2SSOSProfileParser() {
- setArtifactAware(false);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<SSOSProfileConfiguration> getBeanClass(final Element element) {
- return SSOSProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML2.SSOS.";
- }
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
- if (element.hasAttributeNS(null, "delegationPredicateRef")) {
- builder.addPropertyReference("delegationPredicate",
- StringSupport.trimOrNull(element.getAttributeNS(null, "delegationPredicateRef")));
- }
- }
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java
deleted file mode 100644
index 4a426d5..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/ShibbolethSSOProfileParser.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
-
-import java.util.List;
-
-import javax.annotation.Nonnull;
-import javax.xml.namespace.QName;
-
-import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.xml.AttributeSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.config.BeanDefinition;
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.springframework.beans.factory.parsing.Location;
-import org.springframework.beans.factory.parsing.Problem;
-import org.springframework.beans.factory.support.BeanDefinitionBuilder;
-import org.springframework.beans.factory.support.ManagedList;
-import org.springframework.beans.factory.xml.ParserContext;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Parser to generate {@link BrowserSSOProfileConfiguration} from a <code>saml:ShibbolethSSOProfile</code>.
- */
-public class ShibbolethSSOProfileParser extends BaseSAMLProfileConfigurationParser {
-
- /** Element name. */
- public static final QName TYPE_NAME = new QName(RelyingPartySAMLNamespaceHandler.NAMESPACE,
- "ShibbolethSSOProfile");
-
- /** logger. */
- private Logger log = LoggerFactory.getLogger(ShibbolethSSOProfileParser.class);
-
- /** Constructor. */
- public ShibbolethSSOProfileParser() {
- setArtifactAware(true);
- }
-
- /** {@inheritDoc} */
- @Override protected Class<? extends BrowserSSOProfileConfiguration> getBeanClass(final Element element) {
- return BrowserSSOProfileConfiguration.class;
- }
-
- /** {@inheritDoc} */
- @Override protected String getProfileBeanNamePrefix() {
- return "shibboleth.SAML1.BrowserSSO.";
- }
-
- /**
- * We need to extract the defaultAuthenticationMethod and nameIDFormatPrecedence from the parent element, which will
- * be a <RelyingParty>. If there is no parent we set nothing.
- *
- * @param element The <rp:ProfileConfiguration> element
- * @param builder The builder in which to set the
- */
-//CheckStyle: ReturnCount OFF
- private void setAuthnProfileFromRelyingParty(@Nonnull final Element element,
- @Nonnull final BeanDefinitionBuilder builder) {
-
- final Node parentNode = element.getParentNode();
- if (parentNode == null) {
- log.warn("no parent to ProfileConfiguration, no defaultAuthenticationMethod set");
- return;
- }
- if (!(parentNode instanceof Element)) {
- log.warn("parent of ProfileConfiguration was unrecognizable, no defaultAuthenticationMethod set");
- return;
- }
- final Element parent = (Element) parentNode;
-
- if (parent.hasAttributeNS(null, "defaultAuthenticationMethod")) {
- final String method = StringSupport.trimOrNull(parent.getAttributeNS(null, "defaultAuthenticationMethod"));
-
- if (null == method) {
- return;
- }
-
- final BeanDefinitionBuilder methodBuilder =
- BeanDefinitionBuilder.genericBeanDefinition(AuthenticationMethodPrincipal.class);
- methodBuilder.addConstructorArgValue(method);
-
- final List<BeanDefinition> methodsList = new ManagedList<>(1);
- methodsList.add(methodBuilder.getBeanDefinition());
- builder.addPropertyValue("defaultAuthenticationMethods", methodsList);
- }
-
- if (parent.hasAttributeNS(null, "nameIDFormatPrecedence")) {
- final List<String> nameIDs =
- AttributeSupport.getAttributeValueAsList(parent.getAttributeNodeNS(null, "nameIDFormatPrecedence"));
- final List<String> managedNameIds = new ManagedList<>(nameIDs.size());
- managedNameIds.addAll(nameIDs);
- builder.addPropertyValue("nameIDFormatPrecedence", managedNameIds);
- }
- }
-//CheckStyle: ReturnCount ON
-
- /** {@inheritDoc} */
- @Override protected void doParse(final Element element, final ParserContext parserContext,
- final BeanDefinitionBuilder builder) {
- super.doParse(element, parserContext, builder);
-
- if (element.hasAttributeNS(null, "localityAddress")) {
- log.error("Deprecated attribute 'localityAddress' is being ignored");
- throw new BeanDefinitionParsingException(new Problem(
- "Deprecated attribute 'localityAddress' is being ignored", new Location(parserContext
- .getReaderContext().getResource())));
- }
-
- if (element.hasAttributeNS(null, "localityDNSName")) {
- log.error("Deprecated attribute 'localityDNSName' is being ignored");
- throw new BeanDefinitionParsingException(new Problem(
- "Deprecated attribute 'localityDNSName' is being ignored", new Location(parserContext
- .getReaderContext().getResource())));
- }
-
- if (element.hasAttributeNS(null, "includeAttributeStatement")) {
- builder.addPropertyValue("includeAttributeStatement",
- StringSupport.trimOrNull(element.getAttributeNS(null, "includeAttributeStatement")));
- }
-
- setAuthnProfileFromRelyingParty(element, builder);
- }
-
-}
diff --git a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/package-info.java b/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/package-info.java
deleted file mode 100644
index 213266c..0000000
--- a/idp-profile-spring/src/main/java/net/shibboleth/idp/profile/spring/relyingparty/saml/impl/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Parsers for the urn:mace:shibboleth:2.0:relying-party:saml schema. Mostly
- * to do with <ProfileConfiguration>
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml.impl;
\ No newline at end of file
diff --git a/idp-profile-spring/src/main/resources/META-INF/spring.handlers b/idp-profile-spring/src/main/resources/META-INF/spring.handlers
index 5fac732..3801cfc 100644
--- a/idp-profile-spring/src/main/resources/META-INF/spring.handlers
+++ b/idp-profile-spring/src/main/resources/META-INF/spring.handlers
@@ -1,5 +1,3 @@
-urn\:mace\:shibboleth\:2.0\:relying-party = net.shibboleth.idp.profile.spring.relyingparty.impl.RelyingPartyNamespaceHandler
-urn\:mace\:shibboleth\:2.0\:relying-party\:saml = net.shibboleth.idp.profile.spring.relyingparty.saml.impl.RelyingPartySAMLNamespaceHandler
urn\:mace\:shibboleth\:2.0\:metadata = net.shibboleth.idp.profile.spring.relyingparty.metadata.impl.MetadataNamespaceHandler
urn\:mace\:shibboleth\:2.0\:resource = net.shibboleth.idp.profile.spring.resource.impl.ResourceNamespaceHandler
urn\:mace\:shibboleth\:2.0\:security = net.shibboleth.idp.profile.spring.relyingparty.security.impl.SecurityNamespaceHandler
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java
deleted file mode 100644
index 96a55d6..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/MultiSourceFileTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.io.IOException;
-
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataParserTest;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-import net.shibboleth.utilities.java.support.service.ReloadableService;
-import net.shibboleth.utilities.java.support.service.ServiceableComponent;
-
-import org.opensaml.saml.metadata.resolver.RefreshableMetadataResolver;
-import org.opensaml.saml.saml2.metadata.EntityDescriptor;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-public class MultiSourceFileTest extends AbstractMetadataParserTest {
-
- /** the service. */
- private ReloadableService<RefreshableMetadataResolver> service;
-
-
- @BeforeClass public void setup() throws IOException {
- service = getBean(ReloadableService.class, "../metadata/serviceBeans.xml");
- }
-
- @Test public void multipleEntities() throws ResolverException {
- final ServiceableComponent<RefreshableMetadataResolver> component = service.getServiceableComponent();
- try {
- final RefreshableMetadataResolver resolver = component.getComponent();
- final EntityDescriptor e2 = resolver.resolveSingle(criteriaFor("https://idp.example.org/idp2/shibboleth"));
- Assert.assertNotNull(e2);
- Assert.assertEquals(e2.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol").getSingleSignOnServices().get(0).getLocation(), "https://idp.example.org/idpc0/profile/SAML2/Redirect/SSO");
- final EntityDescriptor e1 = resolver.resolveSingle(criteriaFor("https://idp.example.org/idp/shibboleth"));
- Assert.assertNotNull(e1);
- Assert.assertEquals(e1.getIDPSSODescriptor("urn:oasis:names:tc:SAML:2.0:protocol").getSingleSignOnServices().get(0).getLocation(), "https://idp.example.org/idpc1/profile/SAML2/Redirect/SSO");
- } finally {
- if (component != null) {
- component.unpinComponent();
- }
- }
-
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java
deleted file mode 100644
index 8ba4cfe..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyGroupTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Properties;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.config.SecurityConfiguration;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.profile.spring.relyingparty.metadata.AbstractMetadataParserTest;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver;
-import net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver;
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-import net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider;
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-import net.shibboleth.utilities.java.support.resolver.ResolverException;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.saml.metadata.resolver.MetadataResolver;
-import org.opensaml.security.trust.impl.ChainingTrustEngine;
-import org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
-import org.springframework.core.env.MutablePropertySources;
-import org.springframework.core.env.StandardEnvironment;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.springframework.mock.env.MockPropertySource;
-import org.testng.Assert;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.Test;
-
-/**
- * Test for a complete example RelyingParty file
- */
-public class RelyingPartyGroupTest extends OpenSAMLInitBaseTestCase {
-
- private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
- static private String workspaceDirName;
-
- private GenericApplicationContext pendingTeardownContext = null;
-
- @AfterMethod public void tearDownTestContext() {
- if (null == pendingTeardownContext ) {
- return;
- }
- pendingTeardownContext.close();
- pendingTeardownContext = null;
- }
-
- protected void setTestContext(final GenericApplicationContext context) {
- tearDownTestContext();
- pendingTeardownContext = context;
- }
-
- @BeforeSuite public void setupDirs() throws IOException {
- final ClassPathResource resource = new ClassPathResource("/net/shibboleth/idp/profile/spring/relyingparty");
- workspaceDirName = resource.getFile().getAbsolutePath();
- }
-
- private GenericApplicationContext getContext(final String... files) throws FileNotFoundException, IOException {
- final Resource[] resources = new Resource[files.length];
-
- for (int i = 0; i < files.length; i++) {
- resources[i] = new ClassPathResource(PATH + files[i]);
- }
-
- final GenericApplicationContext context = new FilesystemGenericApplicationContext();
- setTestContext(context);
- final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
- context.setDisplayName("ApplicationContext");
- service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
- service.afterPropertiesSet();
-
- context.getBeanFactory().setConversionService(service.getObject());
-
- final PropertySourcesPlaceholderConfigurer placeholderConfig = new PropertySourcesPlaceholderConfigurer();
-
- final MutablePropertySources propertySources = context.getEnvironment().getPropertySources();
- final Properties fileProps = new Properties();
- fileProps.load(new FileInputStream(new File(workspaceDirName + "/file.properties")));
-
- final MockPropertySource mockEnvVars = new MockPropertySource(fileProps);
-
- mockEnvVars.setProperty("DIR", workspaceDirName);
- propertySources.replace(StandardEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME, mockEnvVars);
- placeholderConfig.setPropertySources(propertySources);
-
- context.addBeanFactoryPostProcessor(placeholderConfig);
-
- final SchemaTypeAwareXMLBeanDefinitionReader configReader =
- new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
- configReader.setValidating(true);
-
- configReader.loadBeanDefinitions(resources);
- context.refresh();
-
- return context;
- }
-
- @Test(enabled = true) public void relyingPartyConfig() throws ResolverException, FileNotFoundException, IOException {
- final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
-
- final DefaultRelyingPartyConfigurationResolver resolver =
- context.getBean(DefaultRelyingPartyConfigurationResolver.class);
- Assert.assertTrue(resolver.getRelyingPartyConfigurations().isEmpty());
-
- final RelyingPartyConfiguration anon = resolver.getUnverifiedConfiguration();
- Assert.assertFalse(anon.getDetailedErrorsPredicate().test(null));
- Assert.assertTrue(anon.getProfileConfigurations().isEmpty());
-
- final RelyingPartyConfiguration def = resolver.getDefaultConfiguration();
- Assert.assertEquals(def.getProfileConfigurations().size(), 9);
-
- final ProfileRequestContext ctx = new ProfileRequestContext<>();
- final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
- rpCtx.setRelyingPartyId("https://idp.example.org");
- final HashSet<RelyingPartyConfiguration> set = new HashSet<>();
- for (final RelyingPartyConfiguration rpc : resolver.resolve(ctx)) {
- set.add(rpc);
- }
- Assert.assertEquals(set.size(), 1);
-
- Assert.assertNotNull(resolver.resolveSingle(ctx));
- }
-
- @Test(enabled = true) public void metadataConfig() throws ResolverException, FileNotFoundException, IOException {
- final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
- final Collection<RelyingPartyMetadataProvider> metadataProviders =
- context.getBeansOfType(RelyingPartyMetadataProvider.class).values();
-
- Assert.assertEquals(metadataProviders.size(), 1);
- final RelyingPartyMetadataProvider provider = metadataProviders.iterator().next();
-
- Assert.assertNotNull(provider.resolveSingle(AbstractMetadataParserTest.criteriaFor("http://sp.example.org/")));
-
- }
-
- @Test(enabled = true) public void relyingPartyService() throws ResolverException, FileNotFoundException,
- IOException {
- final GenericApplicationContext context = getContext("beans.xml", "services.xml");
-
- final RelyingPartyConfigurationResolver resolver = context.getBean(RelyingPartyConfigurationResolver.class);
- final ProfileRequestContext ctx = new ProfileRequestContext<>();
- final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
- rpCtx.setRelyingPartyId("https://idp.example.org");
- final HashSet<RelyingPartyConfiguration> set = new HashSet<>();
- for (final RelyingPartyConfiguration rpc : resolver.resolve(ctx)) {
- set.add(rpc);
- }
- Assert.assertEquals(set.size(), 1);
-
- Assert.assertNotNull(resolver.resolveSingle(ctx));
- }
-
- @Test(enabled = true) public void metadataService() throws ResolverException, FileNotFoundException, IOException {
- final GenericApplicationContext context = getContext("beans.xml", "services.xml");
- final Collection<MetadataResolver> resolvers = context.getBeansOfType(MetadataResolver.class).values();
-
- Assert.assertEquals(resolvers.size(), 1);
-
- Assert.assertNotNull(resolvers.iterator().next()
- .resolveSingle(AbstractMetadataParserTest.criteriaFor("http://sp.example.org/")));
-
- }
-
- @Test public void relyingParty2() throws FileNotFoundException, IOException {
- final GenericApplicationContext context = getContext("relying-party-group2.xml", "beans.xml");
- final DefaultRelyingPartyConfigurationResolver resolver =
- context.getBean(DefaultRelyingPartyConfigurationResolver.class);
-
- Assert.assertEquals(resolver.getId(), "RelyingPartyGroup[relying-party-group2.xml]");
-
- final List<RelyingPartyConfiguration> rps = resolver.getRelyingPartyConfigurations();
- Assert.assertEquals(rps.size(), 2);
-
- RelyingPartyConfiguration rp = rps.get(0);
- Assert.assertEquals(rp.getId(), "the id1");
- Assert.assertEquals(rp.getResponderId(), "IdP1");
-
- rp = rps.get(1);
- Assert.assertEquals(rp.getId(), "the id2");
- Assert.assertEquals(rp.getResponderId(), "IdP2");
-
- rp = resolver.getUnverifiedConfiguration();
- Assert.assertEquals(rp.getResponderId(), "AnonIdP");
- Assert.assertEquals(rp.getId(), "AnonymousRelyingParty");
-
- rp = resolver.getDefaultConfiguration();
- Assert.assertEquals(rp.getResponderId(), "DefaultIdP");
- Assert.assertEquals(rp.getId(), "DefaultRelyingParty");
- }
-
- @Test public void defaults() throws ResolverException, FileNotFoundException, IOException {
- final GenericApplicationContext context = getContext("beans.xml", "relying-party-group.xml");
-
- final DefaultRelyingPartyConfigurationResolver resolver =
- context.getBean(DefaultRelyingPartyConfigurationResolver.class);
-
- final SecurityConfiguration config = resolver.getDefaultSecurityConfiguration(null);
- Assert.assertNotNull(config);
- Assert.assertTrue(config.getSignatureValidationConfiguration().getSignatureTrustEngine() instanceof ChainingSignatureTrustEngine);
- Assert.assertTrue(config.getClientTLSValidationConfiguration().getX509TrustEngine() instanceof ChainingTrustEngine);
-
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(ArtifactResolutionProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(AttributeQueryProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(BrowserSSOProfileConfiguration.PROFILE_ID));
-
- Assert.assertSame(config, resolver
- .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver
- .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver
- .getDefaultSecurityConfiguration(net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(ECPProfileConfiguration.PROFILE_ID));
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration(SSOSProfileConfiguration.PROFILE_ID));
-
- Assert.assertSame(config, resolver.getDefaultSecurityConfiguration("foobar"));
- }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java
deleted file mode 100644
index 4468c3f..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/RelyingPartyTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty;
-
-import java.util.Arrays;
-import java.util.HashSet;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.context.RelyingPartyContext;
-import net.shibboleth.idp.relyingparty.RelyingPartyConfiguration;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- * Test a <RelyingParty>
- */
-public class RelyingPartyTest extends OpenSAMLInitBaseTestCase {
-
- private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
- @Test public void relyingParties() {
- final Resource[] resources = new Resource[2];
-
- resources[0] = new ClassPathResource(PATH + "beans.xml");
- resources[1] = new ClassPathResource(PATH + "relying-party.xml");
-
- final GenericApplicationContext context = new GenericApplicationContext();
- try{
- final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
- context.setDisplayName("ApplicationContext: ");
- service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
- service.afterPropertiesSet();
-
- context.getBeanFactory().setConversionService(service.getObject());
-
- final SchemaTypeAwareXMLBeanDefinitionReader configReader = new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
- configReader.setValidating(true);
-
- configReader.loadBeanDefinitions(resources);
- context.refresh();
-
- final RelyingPartyConfiguration rpConf = context.getBean(RelyingPartyConfiguration.class);
-
- Assert.assertEquals(rpConf.getId(), "the_RP");
- Assert.assertTrue(rpConf.getDetailedErrorsPredicate().test(null));
- Assert.assertEquals(rpConf.getProfileConfigurations().size(), 1);
-
- final ProfileRequestContext ctx = new ProfileRequestContext<>();
- final RelyingPartyContext rpCtx = ctx.getSubcontext(RelyingPartyContext.class, true);
- rpCtx.setRelyingPartyId("the_RP");
-
- Assert.assertTrue(rpConf.test(ctx));
- //
- // TODO the EntitiesGroup thing
- //
- } finally {
- context.close();
- }
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java
deleted file mode 100644
index 1f75338..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/BaseSAMLProfileTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.function.Predicate;
-
-import net.shibboleth.ext.spring.config.DurationToLongConverter;
-import net.shibboleth.ext.spring.config.StringToIPRangeConverter;
-import net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.idp.profile.RequestContextBuilder;
-import net.shibboleth.idp.saml.profile.config.AbstractSAMLProfileConfiguration;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-import org.opensaml.core.OpenSAMLInitBaseTestCase;
-import org.opensaml.messaging.context.MessageChannelSecurityContext;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.springframework.context.support.ConversionServiceFactoryBean;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.core.io.Resource;
-import org.testng.Assert;
-
-public class BaseSAMLProfileTest extends OpenSAMLInitBaseTestCase {
-
- private static final String PATH = "/net/shibboleth/idp/profile/spring/relyingparty/";
-
- protected <T extends AbstractSAMLProfileConfiguration> T getBean(final Class<T> claz, final String... files) {
- final Resource[] resources = new Resource[files.length];
-
- for (int i = 0; i < files.length; i++) {
- resources[i] = new ClassPathResource(PATH + files[i]);
- }
-
- final GenericApplicationContext context = new GenericApplicationContext();
- try {
- final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
- context.setDisplayName("ApplicationContext: " + claz);
- service.setConverters(new HashSet<>(Arrays.asList(new DurationToLongConverter(), new StringToIPRangeConverter())));
- service.afterPropertiesSet();
-
- context.getBeanFactory().setConversionService(service.getObject());
-
-
- final SchemaTypeAwareXMLBeanDefinitionReader beanDefinitionReader =
- new SchemaTypeAwareXMLBeanDefinitionReader(context);
-
-
-
-
-
- beanDefinitionReader.setValidating(true);
- beanDefinitionReader.loadBeanDefinitions(resources);
-
- context.refresh();
-
- return context.getBean(claz);
- } finally {
- context.close();
- }
- }
-
- protected static void assertTruePredicate(final Predicate<ProfileRequestContext> predicate) {
- Assert.assertTrue(predicate.test(null));
- }
-
- protected static void assertFalsePredicate(final Predicate<ProfileRequestContext> predicate) {
- Assert.assertFalse(predicate.test(null));
- }
-
- protected static void assertConditionalPredicate(final Predicate<ProfileRequestContext> predicate) {
- try {
- final ProfileRequestContext prc = new RequestContextBuilder().buildProfileRequestContext();
- final MessageChannelSecurityContext mc = prc.getSubcontext(MessageChannelSecurityContext.class, true);
-
- mc.setConfidentialityActive(true);
- mc.setIntegrityActive(true);
- Assert.assertFalse(predicate.test(prc));
-
- mc.setConfidentialityActive(false);
- mc.setIntegrityActive(false);
- Assert.assertTrue(predicate.test(prc));
- } catch (final ComponentInitializationException e) {
- Assert.fail("ComponentInitializationException");
- }
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java
deleted file mode 100644
index dde1bef..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/LogoutTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.SingleLogoutProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class LogoutTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- SingleLogoutProfileConfiguration profile = getBean(SingleLogoutProfileConfiguration.class, "saml/logout.xml", "beans.xml");
-
- // defaults for AbstractSAML2ProfileConfiguration
-
- assertFalsePredicate(profile.getEncryptAssertions());
- Assert.assertEquals(profile.getProxyCount(), 0);
- assertConditionalPredicate(profile.getEncryptNameIDs());
-
- assertConditionalPredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-slo");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertNull(artifact.getArtifactType());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 3214);
- Assert.assertNull(profile.getSecurityConfiguration());
- }
-
- @Test public void values() {
- SingleLogoutProfileConfiguration profile =
- getBean(SingleLogoutProfileConfiguration.class, "beans.xml", "saml/logoutValues.xml");
-
- assertTruePredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 98);
- final Collection<String> proxyAudiences = profile.getProxyAudiences();
- Assert.assertEquals(proxyAudiences.size(), 1);
- Assert.assertTrue(proxyAudiences.contains("NibbleAHappyWarthog"));
-
- assertConditionalPredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertFalsePredicate(profile.getSignResponses());
-
- Assert.assertEquals(profile.getAssertionLifetime(), 8 * 60 * 1000);
-
- final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
- Assert.assertEquals(audiences.size(), 0);
-
- Assert.assertTrue(profile.includeConditionsNotBefore());
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-slo");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertEquals(artifact.getArtifactType(), new byte[] { 0x0, 0x7, });
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 3214);
-
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java
deleted file mode 100644
index 73fdf4d..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1ArtifactTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Set;
-
-import net.shibboleth.idp.saml.saml1.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML1ArtifactTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- ArtifactResolutionProfileConfiguration profile =
- getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml1artifact.xml");
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
- }
-
- @Test public void values() {
- ArtifactResolutionProfileConfiguration profile =
- getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml1artifactValues.xml");
-
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
-
- Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
- final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
- Assert.assertEquals(audiences.size(), 1);
- Assert.assertEquals(audiences.iterator().next(), "NibbleAHappyWarthogNibbleAHappyWarthog");
-
- Assert.assertFalse(profile.includeConditionsNotBefore());
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNotNull(profile.getSecurityConfiguration());
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java
deleted file mode 100644
index bc90d60..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML1AttributeQueryTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.AttributeQueryProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML1AttributeQueryTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- AttributeQueryProfileConfiguration profile =
- getBean(AttributeQueryProfileConfiguration.class, "saml/saml1attributeQuery.xml", "beans.xml");
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertNull(artifact.getArtifactType());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 432100);
- }
-
- @Test public void values() {
- AttributeQueryProfileConfiguration profile =
- getBean(AttributeQueryProfileConfiguration.class, "beans.xml", "saml/saml1attributeQueryValues.xml");
-
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
-
- Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
- final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
- Assert.assertEquals(audiences.size(), 2);
- Assert.assertTrue(audiences.contains("NibbleAHappyWarthogNibbleAHappyWarthog"));
- Assert.assertTrue(audiences.contains("NibbleAHappyWarthog"));
-
- Assert.assertFalse(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(12341).toByteArray());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 432100);
-
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java
deleted file mode 100644
index 344fcaf..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ArtifactTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.saml2.profile.config.ArtifactResolutionProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2ArtifactTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- ArtifactResolutionProfileConfiguration profile =
- getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml2artifact.xml");
-
- // defaults for AbstractSAML2ProfileConfiguration
-
- assertConditionalPredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
- }
-
- @Test public void values() {
- ArtifactResolutionProfileConfiguration profile =
- getBean(ArtifactResolutionProfileConfiguration.class, "beans.xml", "saml/saml2artifactValues.xml");
-
- assertFalsePredicate(profile.getEncryptAssertions());
- assertTruePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 99);
- final Collection<String> proxyAudiences = profile.getProxyAudiences();
- Assert.assertEquals(proxyAudiences.size(), 2);
- Assert.assertTrue(proxyAudiences.contains("ProxyAudience1"));
- Assert.assertTrue(proxyAudiences.contains("ProxyAudience2"));
-
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
-
- Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
- final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
- Assert.assertEquals(audiences.size(), 1);
- Assert.assertEquals(audiences.iterator().next(), "NibbleAHappyWarthog");
-
- Assert.assertFalse(profile.includeConditionsNotBefore());
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java
deleted file mode 100644
index 5c2bee3..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2AttributeQueryTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Set;
-
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.AttributeQueryProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2AttributeQueryTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- AttributeQueryProfileConfiguration profile =
- getBean(AttributeQueryProfileConfiguration.class, "saml/saml2attributeQuery.xml", "beans.xml");
-
- // defaults for AbstractSAML2ProfileConfiguration
-
- assertConditionalPredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertNull(artifact.getArtifactType());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 2143);
- }
-
- @Test public void values() {
- AttributeQueryProfileConfiguration profile =
- getBean(AttributeQueryProfileConfiguration.class, "beans.xml", "saml/saml2attributeQueryValues.xml");
-
- assertFalsePredicate(profile.getEncryptAssertions());
- assertTruePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 99);
- final Collection<String> proxyAudiences = profile.getProxyAudiences();
- Assert.assertEquals(proxyAudiences.size(), 2);
- Assert.assertTrue(proxyAudiences.contains("ProxyAudience1"));
- Assert.assertTrue(proxyAudiences.contains("NibbleAHappyWarthog"));
-
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml-soap");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertConditionalPredicate(profile.getSignResponses());
-
- Assert.assertEquals(profile.getAssertionLifetime(), 10 * 60 * 1000);
-
- final Set<String> audiences = profile.getAdditionalAudiencesForAssertion();
- Assert.assertEquals(audiences.size(), 2);
- Assert.assertTrue(audiences.contains("NibbleAHappyWarthog"));
- Assert.assertTrue(audiences.contains("Audience2"));
-
- Assert.assertFalse(profile.includeConditionsNotBefore());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(765).toByteArray());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 2143);
-
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
deleted file mode 100644
index 07cece9..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2BrowserSSOProfileTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.List;
-
-import net.shibboleth.idp.profile.spring.logic.DummyPredicate;
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
- at SuppressWarnings("deprecation")
-public class SAML2BrowserSSOProfileTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- BrowserSSOProfileConfiguration profile = getBean(BrowserSSOProfileConfiguration.class, "saml/saml2SSO.xml", "beans.xml");
-
- Assert.assertTrue(profile.includeAttributeStatement());
- Assert.assertFalse(profile.skipEndpointValidationWhenSigned());
- Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 0);
-
- // defaults for AbstractSAML2ProfileConfiguration
-
- assertTruePredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertTruePredicate(profile.getSignResponses());
- assertFalsePredicate(profile.getEncryptAttributes());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertFalse(profile.getAllowingDelegation());
- Assert.assertNotNull(profile.getAllowDelegation());
- assertFalsePredicate(profile.getAllowDelegation());
- Assert.assertEquals(profile.getMaximumTokenDelegationChainLength(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-sso");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
- Assert.assertNull(profile.getSecurityConfiguration());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertNull(artifact.getArtifactType());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
- }
-
- @Test public void values() {
- BrowserSSOProfileConfiguration profile =
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOValues.xml");
-
- Assert.assertFalse(profile.includeAttributeStatement());
- Assert.assertTrue(profile.skipEndpointValidationWhenSigned());
- Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 1);
-
- assertConditionalPredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
- Assert.assertTrue(profile.isEncryptionOptional());
- Assert.assertTrue(profile.getAllowingDelegation());
- Assert.assertNotNull(profile.getAllowDelegation());
- assertTruePredicate(profile.getAllowDelegation());
- Assert.assertEquals(profile.getMaximumTokenDelegationChainLength(), 3);
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertConditionalPredicate(profile.getSignRequests());
- assertTruePredicate(profile.getSignAssertions());
- assertFalsePredicate(profile.getSignResponses());
- assertTruePredicate(profile.getEncryptAttributes());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-sso");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(7654).toByteArray());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-
- Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
- final AuthnContextClassRefPrincipal authnMethod =
- (AuthnContextClassRefPrincipal) profile.getDefaultAuthenticationMethods().get(0);
- Assert.assertEquals(authnMethod.getAuthnContextClassRef().getAuthnContextClassRef(),
- "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport");
-
- final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
- Assert.assertEquals(nameIDPrefs.size(), 2);
- Assert.assertTrue(nameIDPrefs.contains("one"));
- Assert.assertTrue(nameIDPrefs.contains("two"));
-
- Assert.assertNotNull(profile.getSecurityConfiguration());
- Assert.assertNotNull(profile.getSecurityConfiguration().getSignatureSigningConfiguration());
- }
-
- @Test public void allowDelegationPredicateRef() {
- BrowserSSOProfileConfiguration profile =
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOAllowDelegationPredicate.xml");
-
- Assert.assertFalse(profile.getAllowingDelegation());
- Assert.assertNotNull(profile.getAllowDelegation());
- Assert.assertTrue(profile.getAllowDelegation() instanceof DummyPredicate);
- }
-
- @Test public void allowDelegationPropertyReplacement() {
- BrowserSSOProfileConfiguration profile =
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/saml2SSOAllowDelegationPropertyReplacement.xml");
-
- Assert.assertTrue(profile.getAllowingDelegation());
- Assert.assertNotNull(profile.getAllowDelegation());
- assertTruePredicate(profile.getAllowDelegation());
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java
deleted file mode 100644
index 755c5e0..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2ECPProfileTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.util.List;
-
-import net.shibboleth.idp.saml.authn.principal.AuthnContextClassRefPrincipal;
-import net.shibboleth.idp.saml.saml2.profile.config.BrowserSSOProfileConfiguration;
-import net.shibboleth.idp.saml.saml2.profile.config.ECPProfileConfiguration;
-
-import org.springframework.beans.factory.parsing.BeanDefinitionParsingException;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2ECPProfileTest extends BaseSAMLProfileTest {
-
- @SuppressWarnings("deprecation")
- @Test public void defaults() {
-
- ECPProfileConfiguration profile = getBean(ECPProfileConfiguration.class, "saml/ecp.xml", "beans.xml");
-
- Assert.assertTrue(profile.includeAttributeStatement());
- Assert.assertFalse(profile.skipEndpointValidationWhenSigned());
- Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 0);
-
- // defaults for AbstractSAML2ProfileConfiguration
-
- assertTruePredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertTruePredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-ecp");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- Assert.assertNull(profile.getArtifactConfiguration());
- }
-
- @SuppressWarnings("deprecation")
- @Test public void values() {
- BrowserSSOProfileConfiguration profile =
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpValues.xml");
-
- Assert.assertFalse(profile.includeAttributeStatement());
- Assert.assertTrue(profile.skipEndpointValidationWhenSigned());
- Assert.assertEquals(profile.getMaximumSPSessionLifetime(), 1);
-
- assertTruePredicate(profile.getEncryptAssertions());
- assertFalsePredicate(profile.getEncryptNameIDs());
-
- Assert.assertEquals(profile.getProxyCount(), 0);
- Assert.assertTrue(profile.getProxyAudiences().isEmpty());
-
- // defaults for AbstractSAMLProfileConfiguration
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertTruePredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/saml2-ecp");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- Assert.assertNull(profile.getArtifactConfiguration());
-
- Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
- final AuthnContextClassRefPrincipal authnMethod =
- (AuthnContextClassRefPrincipal) profile.getDefaultAuthenticationMethods().get(0);
- Assert.assertEquals(authnMethod.getAuthnContextClassRef().getAuthnContextClassRef(),
- "urn:oasis:names:tc:SAML:2.0:ac:classes:Password");
-
- final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
- Assert.assertEquals(nameIDPrefs.size(), 2);
- Assert.assertTrue(nameIDPrefs.contains("three"));
- Assert.assertTrue(nameIDPrefs.contains("four"));
- }
-
- @Test(expectedExceptions = {BeanDefinitionParsingException.class,}) public void localityAddress() {
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpLocalityAddress.xml");
- }
-
- @Test(expectedExceptions = {BeanDefinitionParsingException.class,}) public void localityDnsname() {
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/ecpLocalityDNSName.xml");
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java
deleted file mode 100644
index f7263b8..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/SAML2SSOSProfileTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import net.shibboleth.idp.saml.idwsf.profile.config.SSOSProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class SAML2SSOSProfileTest extends BaseSAMLProfileTest {
-
- @Test public void defaults() {
-
- SSOSProfileConfiguration profile = getBean(SSOSProfileConfiguration.class, "saml/ssos.xml", "beans.xml");
-
- Assert.assertFalse(profile.getDelegationPredicate().test(null));
- }
-
- @Test public void values() {
- SSOSProfileConfiguration profile =
- getBean(SSOSProfileConfiguration.class, "saml/ssosValues.xml", "beans.xml");
-
- Assert.assertTrue(profile.getDelegationPredicate().test(null));
- }
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java b/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java
deleted file mode 100644
index 14382bf..0000000
--- a/idp-profile-spring/src/test/java/net/shibboleth/idp/profile/spring/relyingparty/saml/ShibbolethSSOProfileTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the University Corporation for Advanced Internet Development,
- * Inc. (UCAID) under one or more contributor license agreements. See the
- * NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The UCAID licenses this file to You under the Apache
- * License, Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package net.shibboleth.idp.profile.spring.relyingparty.saml;
-
-import java.math.BigInteger;
-import java.util.List;
-
-import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
-import net.shibboleth.idp.saml.profile.config.SAMLArtifactConfiguration;
-import net.shibboleth.idp.saml.saml1.profile.config.BrowserSSOProfileConfiguration;
-
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class ShibbolethSSOProfileTest extends BaseSAMLProfileTest {
-
- @SuppressWarnings("deprecation")
- @Test public void defaults() {
-
- BrowserSSOProfileConfiguration profile = getBean(BrowserSSOProfileConfiguration.class, "saml/shibbolethSSO.xml", "beans.xml");
-
- Assert.assertFalse(profile.includeAttributeStatement());
-
- assertFalsePredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertTruePredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/shibboleth-sso");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertNull(artifact.getArtifactType());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
- }
-
- @SuppressWarnings("deprecation")
- @Test public void values() {
- BrowserSSOProfileConfiguration profile =
- getBean(BrowserSSOProfileConfiguration.class, "beans.xml", "saml/shibbolethSSOValues.xml");
-
- Assert.assertTrue(profile.includeAttributeStatement());
-
- assertConditionalPredicate(profile.getSignRequests());
- assertFalsePredicate(profile.getSignAssertions());
- assertTruePredicate(profile.getSignResponses());
- Assert.assertEquals(profile.getAssertionLifetime(), 5 * 60 * 1000);
- Assert.assertTrue(profile.getAdditionalAudiencesForAssertion().isEmpty());
- Assert.assertTrue(profile.includeConditionsNotBefore());
- Assert.assertEquals(profile.getInboundInterceptorFlows().size(), 1);
- Assert.assertEquals(profile.getInboundInterceptorFlows().get(0), "security-policy/shibboleth-sso");
- Assert.assertTrue(profile.getOutboundInterceptorFlows().isEmpty());
-
- final SAMLArtifactConfiguration artifact = profile.getArtifactConfiguration();
- Assert.assertEquals(artifact.getArtifactType(), BigInteger.valueOf(32767).toByteArray());
- Assert.assertEquals(artifact.getArtifactResolutionServiceIndex().intValue(), 1111);
-
- Assert.assertEquals(profile.getDefaultAuthenticationMethods().size(), 1);
- final AuthenticationMethodPrincipal authnMethod =
- (AuthenticationMethodPrincipal) profile.getDefaultAuthenticationMethods().get(0);
- Assert.assertEquals(authnMethod.getName(),"urn:oasis:names:tc:SAML:2.0:ac:classes:Password");
-
- final List<String> nameIDPrefs = profile.getNameIDFormatPrecedence();
-
- Assert.assertEquals(nameIDPrefs.size(), 2);
- Assert.assertTrue(nameIDPrefs.contains("three"));
- Assert.assertTrue(nameIDPrefs.contains("four"));
-
- }
-
-}
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml
deleted file mode 100644
index 413ae8d..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/beans.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
- default-init-method="initialize" default-destroy-method="destroy" default-lazy-init="true">
-
- <context:property-placeholder
- location="classpath:/net/shibboleth/idp/profile/spring/relyingparty/file.properties" />
-
- <!-- This BeanPostProcessor auto-sets identifiable beans with the bean name
- (if not already set). -->
- <bean class="net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor" />
-
- <!-- The profile defaults. Firstly the artifact and InbouldFlowId parameters -->
-
- <!-- SAML2 -->
- <alias alias="shibboleth.SAML2.Artifact.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.Artifact.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml-soap" />
-
- <alias alias="shibboleth.SAML2.Logout.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.Logout.ArtifactServiceIndex" class="java.lang.String"
- c:_0="3214" />
- <bean id="shibboleth.SAML2.Logout.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml2-slo" />
-
- <alias alias="shibboleth.SAML2.AttributeQuery.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.AttributeQuery.ArtifactServiceIndex" class="java.lang.String"
- c:_0="2143" />
- <bean id="shibboleth.SAML2.AttributeQuery.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml-soap" />
-
- <alias alias="shibboleth.SAML2.BrowserSSO.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.BrowserSSO.ArtifactServiceIndex" class="java.lang.String"
- c:_0="1111" />
- <bean id="shibboleth.SAML2.BrowserSSO.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml2-sso" />
-
- <alias alias="shibboleth.SAML2.ECP.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.ECP.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml2-ecp" />
-
- <!-- SAML2 - Liberty -->
- <alias alias="shibboleth.SAML2.SSOS.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML2.SSOS.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml2-ssos" />
-
- <!-- SAML1 -->
- <alias alias="shibboleth.SAML1.Artifact.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML1.Artifact.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml-soap" />
-
- <alias alias="shibboleth.SAML1.AttributeQuery.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML1.AttributeQuery.ArtifactServiceIndex" class="java.lang.String"
- c:_0="432100" />
- <bean id="shibboleth.SAML1.AttributeQuery.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/saml-soap" />
-
- <alias alias="shibboleth.SAML1.BrowserSSO.ServletRequest" name="shibboleth.HttpServletRequest" />
- <bean id="shibboleth.SAML1.BrowserSSO.ArtifactServiceIndex" class="java.lang.String"
- c:_0="1111" />
- <bean id="shibboleth.SAML1.BrowserSSO.InboundFlowId" class="java.lang.String"
- c:_0="security-policy/shibboleth-sso" />
-
- <bean id="shibboleth.ParserPool"
- class="net.shibboleth.utilities.java.support.xml.BasicParserPool"
- p:maxPoolSize="100" p:coalescing="true" p:ignoreComments="true"
- p:ignoreElementContentWhitespace="true" p:namespaceAware="true" />
-
-
- <bean id="myParserPool"
- class="net.shibboleth.utilities.java.support.xml.BasicParserPool"
- p:maxPoolSize="1000" p:coalescing="true" p:ignoreComments="true"
- p:ignoreElementContentWhitespace="true" p:namespaceAware="true" />
-
- <bean id="shibboleth.SchemaBuilder" class="org.opensaml.saml.common.xml.SAMLSchemaBuilder"
- c:ver="SAML_11" />
-
- <!-- for SSOS -->
- <bean id="jimmy" factory-method="alwaysTrue" class="com.google.common.base.Predicates"/>
-
- <bean id="shibboleth.HttpServletRequest"
- class="org.springframework.mock.web.MockHttpServletRequest" />
- <bean id="dummyPredicate" class="net.shibboleth.idp.profile.spring.logic.DummyPredicate"/>
-
- <!-- Trust Engines -->
-
- <!-- These are hacked to use static resolvers to avoid a dependency on metadata, just so the tests load. -->
-
- <bean id="shibboleth.KeyInfoCredentialResolver" class="org.opensaml.xmlsec.config.impl.DefaultSecurityConfigurationBootstrap"
- factory-method="buildBasicInlineKeyInfoCredentialResolver" />
-
- <bean id="shibboleth.StaticCredentialResolver" class="org.opensaml.xmlsec.keyinfo.impl.StaticKeyInfoCredentialResolver">
- <constructor-arg>
- <bean class="org.opensaml.security.x509.BasicX509Credential">
- <constructor-arg name="entityCertificate">
- <bean class="net.shibboleth.ext.spring.factory.X509CertificateFactoryBean"
- p:resource="classpath:net/shibboleth/idp/profile/spring/relyingparty/security/credential/cert.pem" />
- </constructor-arg>
- </bean>
- </constructor-arg>
- </bean>
-
- <bean id="shibboleth.StaticPKIXValidationInformationResolver"
- class="org.opensaml.security.x509.impl.StaticPKIXValidationInformationResolver"
- c:info="#{null}" c:names="#{null}" />
-
- <bean id="shibboleth.SignatureTrustEngine"
- class="org.opensaml.xmlsec.signature.support.impl.ChainingSignatureTrustEngine">
- <constructor-arg>
- <list>
- <bean class="org.opensaml.xmlsec.signature.support.impl.ExplicitKeySignatureTrustEngine"
- c:resolver-ref="shibboleth.StaticCredentialResolver"
- c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
- <bean class="org.opensaml.xmlsec.signature.support.impl.PKIXSignatureTrustEngine"
- c:resolver-ref="shibboleth.StaticPKIXValidationInformationResolver"
- c:keyInfoResolver-ref="shibboleth.KeyInfoCredentialResolver" />
- </list>
- </constructor-arg>
- </bean>
-
- <bean id="shibboleth.X509TrustEngine" class="org.opensaml.security.trust.impl.ChainingTrustEngine">
- <constructor-arg>
- <list>
- <bean class="org.opensaml.security.trust.impl.ExplicitX509CertificateTrustEngine"
- c:resolver-ref="shibboleth.StaticCredentialResolver" />
- <bean class="org.opensaml.security.x509.impl.PKIXX509CredentialTrustEngine"
- c:resolver-ref="shibboleth.StaticPKIXValidationInformationResolver" />
- </list>
- </constructor-arg>
- </bean>
-
- <bean id="shibboleth.MetadataSignatureValidationStaticCriteria"
- class="net.shibboleth.idp.profile.spring.relyingparty.metadata.filter.impl.SignatureValidationCriteriaSetFactoryBean"
- p:includeOpenSAMLGlobalConfig="true">
- <property name="signatureValidationConfigurations">
- <util:list>
- <bean class="org.opensaml.xmlsec.impl.BasicSignatureValidationConfiguration">
- <property name="whitelistedAlgorithms">
- <list>
- </list>
- </property>
- <property name="blacklistedAlgorithms">
- <list>
- <value>foo</value>
- <value>bar</value>
- <value>baz</value>
- </list>
- </property>
- </bean>
- </util:list>
- </property>
- </bean>
-
-</beans>
-
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml
deleted file mode 100644
index 6d95162..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:util="http://www.springframework.org/schema/util"
- xmlns:c="http://www.springframework.org/schema/c"
- xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <context:property-placeholder
- location="classpath:/net/shibboleth/idp/profile/spring/relyingparty/file.properties"/>
-</beans>
-
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml
deleted file mode 100644
index 252d5e0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml
+++ /dev/null
@@ -1,240 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- This file is an EXAMPLE configuration file. This file specifies relying
- party dependent configurations for the IdP, for example, whether SAML assertions
- to a particular relying party should be signed. It also includes metadata
- provider and credential definitions used when answering requests to a relying
- party. -->
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:metadata="urn:mace:shibboleth:2.0:metadata"
- xmlns:resource="urn:mace:shibboleth:2.0:resource" xmlns:security="urn:mace:shibboleth:2.0:security"
- xmlns:samlsec="urn:mace:shibboleth:2.0:security:saml" xmlns:samlmd="urn:oasis:names:tc:SAML:2.0:metadata"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
- urn:mace:shibboleth:2.0:resource http://shibboleth.net/schema/idp/shibboleth-resource.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
- urn:mace:shibboleth:2.0:security:saml http://shibboleth.net/schema/idp/shibboleth-security-policy-saml.xsd
- urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd">
-
- <!-- ========================================== -->
- <!-- Relying Party Configurations -->
- <!-- ========================================== -->
- <rp:AnonymousRelyingParty provider="${IDP_ENTITY_ID}"
- defaultSigningCredentialRef="IdPCredential" />
-
- <rp:DefaultRelyingParty provider="${IDP_ENTITY_ID}"
- defaultSigningCredentialRef="IdPCredential">
- <!-- Each attribute in these profiles configuration is set to its default
- value, that is, the values that would be in effect if those attributes were
- not present. We list them here so that people are aware of them (since they
- seem reluctant to read the documentation). -->
- <rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile"
- includeAttributeStatement="false" assertionLifetime="PT5M"
- signResponses="conditional" signAssertions="never"
- includeConditionsNotBefore="true" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2SSOSProfile" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML1AttributeQueryProfile"
- assertionLifetime="PT5M" signResponses="conditional" signAssertions="never"
- includeConditionsNotBefore="true" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML1ArtifactResolutionProfile"
- signResponses="conditional" signAssertions="never" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
- includeAttributeStatement="true" assertionLifetime="PT5M"
- assertionProxyCount="0" signResponses="never" signAssertions="always"
- encryptAssertions="conditional" encryptNameIds="never"
- includeConditionsNotBefore="true" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
- includeAttributeStatement="true" assertionLifetime="PT5M"
- assertionProxyCount="0" signResponses="never" signAssertions="always"
- encryptAssertions="conditional" encryptNameIds="never"
- includeConditionsNotBefore="true" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2AttributeQueryProfile"
- assertionLifetime="PT5M" assertionProxyCount="0" signResponses="conditional"
- signAssertions="never" encryptAssertions="conditional"
- encryptNameIds="never" includeConditionsNotBefore="true" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2ArtifactResolutionProfile"
- signResponses="never" signAssertions="always" encryptAssertions="conditional"
- encryptNameIds="never" />
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile"
- signResponses="conditional" />
-
- </rp:DefaultRelyingParty>
-
-
- <!-- ========================================== -->
- <!-- Metadata Configuration -->
- <!-- ========================================== -->
- <!-- MetadataProvider the combining other MetadataProviders -->
- <metadata:MetadataProvider id="ShibbolethMetadata"
- xsi:type="metadata:ChainingMetadataProvider">
-
-
- <!-- Example metadata provider. -->
- <!-- Reads metadata from a URL and store a backup copy on the file system. -->
- <!-- Validates the signature of the metadata and filters out all by SP
- entities in order to save memory -->
- <metadata:MetadataProvider id="URLMD"
- xsi:type="metadata:FilesystemMetadataProvider" metadataFile="${DIR}/test-metadata-out.xml">
- <metadata:MetadataFilter xsi:type="metadata:ChainingFilter">
- <metadata:MetadataFilter xsi:type="metadata:SignatureValidation"
- requireSignedRoot="true">
- <metadata:PublicKey>
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
- uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
- LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
- NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
- nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
- E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
- 4wIDAQAB</metadata:PublicKey>
- </metadata:MetadataFilter>
- <metadata:MetadataFilter xsi:type="metadata:EntityRoleWhiteList">
- <metadata:RetainedRole>samlmd:SPSSODescriptor</metadata:RetainedRole>
- </metadata:MetadataFilter>
- </metadata:MetadataFilter>
- </metadata:MetadataProvider>
-
- </metadata:MetadataProvider>
-
-
- <!-- ========================================== -->
- <!-- Security Configurations -->
- <!-- ========================================== -->
- <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem">
- <security:PrivateKey>${DIR}/security/credential/key.pem
- </security:PrivateKey>
- <security:Certificate>${DIR}/security/credential/cert.pem
- </security:Certificate>
- </security:Credential>
-
-
- <!-- DO NOT EDIT BELOW THIS POINT -->
- <!-- The following trust engines and rules control every aspect of security
- related to incoming messages. Trust engines evaluate various tokens (like
- digital signatures) for trust worthiness while the security policies establish
- a set of checks that an incoming message must pass in order to be considered
- secure. Naturally some of these checks require the validation of the tokens
- evaluated by the trust engines and so you'll see some rules that reference
- the declared trust engines. -->
-
-<!--
- <security:TrustEngine id="shibboleth.SignatureTrustEngine"
- xsi:type="security:SignatureChaining">
- <security:TrustEngine
- id="shibboleth.SignatureMetadataExplicitKeyTrustEngine" xsi:type="security:MetadataExplicitKeySignature"
- metadataProviderRef="ShibbolethMetadata" />
- <security:TrustEngine id="shibboleth.SignatureMetadataPKIXTrustEngine"
- xsi:type="security:MetadataPKIXSignature" metadataProviderRef="ShibbolethMetadata" />
- </security:TrustEngine>
-
- <security:TrustEngine id="shibboleth.CredentialTrustEngine"
- xsi:type="security:Chaining">
- <security:TrustEngine
- id="shibboleth.CredentialMetadataExplictKeyTrustEngine" xsi:type="security:MetadataExplicitKey"
- metadataProviderRef="ShibbolethMetadata" />
- <security:TrustEngine id="shibboleth.CredentialMetadataPKIXTrustEngine"
- xsi:type="security:MetadataPKIXX509Credential" metadataProviderRef="ShibbolethMetadata" />
- </security:TrustEngine>
-
- <security:SecurityPolicy id="shibboleth.ShibbolethSSOSecurityPolicy"
- xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" required="false" />
- <security:Rule xsi:type="samlsec:IssueInstant" required="false" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy id="shibboleth.SAML1AttributeQuerySecurityPolicy"
- xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="security:ClientCertAuth"
- trustEngineRef="shibboleth.CredentialTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- <security:Rule xsi:type="security:MandatoryMessageAuthentication" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy
- id="shibboleth.SAML1ArtifactResolutionSecurityPolicy" xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="security:ClientCertAuth"
- trustEngineRef="shibboleth.CredentialTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- <security:Rule xsi:type="security:MandatoryMessageAuthentication" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy id="shibboleth.SAML2SSOSecurityPolicy"
- xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:SAML2AuthnRequestsSigned" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy id="shibboleth.SAML2AttributeQuerySecurityPolicy"
- xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="security:ClientCertAuth"
- trustEngineRef="shibboleth.CredentialTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- <security:Rule xsi:type="security:MandatoryMessageAuthentication" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy
- id="shibboleth.SAML2ArtifactResolutionSecurityPolicy" xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="security:ClientCertAuth"
- trustEngineRef="shibboleth.CredentialTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- <security:Rule xsi:type="security:MandatoryMessageAuthentication" />
- </security:SecurityPolicy>
-
- <security:SecurityPolicy id="shibboleth.SAML2SLOSecurityPolicy"
- xsi:type="security:SecurityPolicyType">
- <security:Rule xsi:type="samlsec:Replay" />
- <security:Rule xsi:type="samlsec:IssueInstant" />
- <security:Rule xsi:type="samlsec:ProtocolWithXMLSignature"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPRedirectSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="samlsec:SAML2HTTPPostSimpleSign"
- trustEngineRef="shibboleth.SignatureTrustEngine" />
- <security:Rule xsi:type="security:ClientCertAuth"
- trustEngineRef="shibboleth.CredentialTrustEngine" />
- <security:Rule xsi:type="samlsec:MandatoryIssuer" />
- <security:Rule xsi:type="security:MandatoryMessageAuthentication" />
- </security:SecurityPolicy>
--->
-</rp:RelyingPartyGroup>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml
deleted file mode 100644
index 443214f..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group2.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd">
-
- <!-- ========================================== -->
- <!-- Relying Party Configurations -->
- <!-- ========================================== -->
- <rp:AnonymousRelyingParty provider="AnonIdP" defaultSigningCredentialRef="IdPCredential"/>
-
- <rp:DefaultRelyingParty provider="DefaultIdP" defaultSigningCredentialRef="IdPCredential"/>
- <rp:RelyingParty provider="IdP1" id="the id1"/>
- <rp:RelyingParty provider="IdP2" id="the id2"/>
-
-</rp:RelyingPartyGroup>
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml
deleted file mode 100644
index 49df2db..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/relying-party.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- id="the_RP" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
- nameIDFormatPrecedence="three four"
- detailedErrors="true"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-
- <rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile" includeAttributeStatement="true" securityPolicyRef="ignore"
- outboundArtifactType="6543" />
-</rp:RelyingParty>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml
deleted file mode 100644
index a47327e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecp.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2ECPProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml
deleted file mode 100644
index e995831..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityAddress.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
- nameIDFormatPrecedence="three four"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
- <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
- localityAddress="ignore">
- </rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml
deleted file mode 100644
index 3561f1b..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpLocalityDNSName.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
- nameIDFormatPrecedence="three four"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
- <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
- localityDNSName="ignore">
- </rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml
deleted file mode 100644
index a033ddc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ecpValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
- nameIDFormatPrecedence="three four"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
- <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile"
- includeAttributeStatement="false" securityPolicyRef="ignore"
- maximumSPSessionLifetime="1" skipEndpointValidationWhenSigned="true"
- artifactType="5437">
- </rp:ProfileConfiguration>
-
-</rp:RelyingParty>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml
deleted file mode 100644
index ea7a91e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logout.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2LogoutRequestProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml
deleted file mode 100644
index 50d2ce0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/logoutValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:spring="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
- xsi:type="saml:SAML2LogoutRequestProfile"
- encryptNameIds="never" encryptAssertions="always" assertionProxyCount="98"
- assertionLifetime="PT8M" includeConditionsNotBefore="true" artifactType="7"
- signAssertions="${prop.never}" signRequests="conditional" signResponses="never">
- <saml:ProxyAudience>${prop.String1}</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml
deleted file mode 100644
index a9a1a67..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifact.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML1ArtifactResolutionProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml
deleted file mode 100644
index 6cebaea..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1artifactValues.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <rp:AnonymousRelyingParty provider="bar" />
- <rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
- <rp:RelyingParty id="rp" provider="provider"
- nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
- <rp:ProfileConfiguration xsi:type="saml:SAML1ArtifactResolutionProfile"
-
- securityPolicyRef="wobble" attributeAuthority="wibble"
-
- assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}"
- signingCredentialRef="credref" signAssertions="${prop.never}"
- signRequests="never" signResponses="conditional">
- <saml:Audience>${prop.String1}${prop.String1}</saml:Audience>
- </rp:ProfileConfiguration>
-
-
- </rp:RelyingParty>
- <sec:Credential id="credref" xsi:type="sec:BasicInline">
- <sec:PublicKey>
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
- uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
- LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
- NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
- nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
- E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
- 4wIDAQAB
- </sec:PublicKey>
- </sec:Credential>
-</rp:RelyingPartyGroup>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml
deleted file mode 100644
index 25c0123..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQuery.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML1AttributeQueryProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml
deleted file mode 100644
index 86f7b6b..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml1attributeQueryValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML1AttributeQueryProfile"
-
- securityPolicyRef="wobble" attributeAuthority="wibble"
-
- assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}" artifactType="${prop.artifactType}1"
- signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
- <saml:Audience>${prop.String1}${prop.String1}</saml:Audience>
- <saml:Audience>${prop.String1}</saml:Audience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml
deleted file mode 100644
index 98fc2d0..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2SSOProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml
deleted file mode 100644
index f87cc5c..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPredicate.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <rp:AnonymousRelyingParty provider="bar" />
- <rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
- <rp:RelyingParty id="rp" provider="provider"
- nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
- <!-- Note: deliberately setting both allowDelegation and allowDelegationPredicateRef to conflicting values
- to test that the ref overrides the explicit value as expected. -->
- <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
- includeAttributeStatement="false" securityPolicyRef="ignore"
- maximumSPSessionLifetime="1" encryptionOptional="true"
- encryptAttributes="always" encryptAssertions="conditional"
- allowDelegation="false"
- allowDelegationPredicateRef="dummyPredicate"
- signRequests="conditional" signAssertions="always" signResponses="never"
- skipEndpointValidationWhenSigned="true" artifactType="7654">
- </rp:ProfileConfiguration>
-
- </rp:RelyingParty>
- <sec:Credential id="signer" xsi:type="sec:BasicInline">
- <sec:PublicKey>
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
- uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
- LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
- NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
- nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
- E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
- 4wIDAQAB
- </sec:PublicKey>
- </sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml
deleted file mode 100644
index 45d08b9..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOAllowDelegationPropertyReplacement.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <rp:AnonymousRelyingParty provider="bar" />
- <rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
- <rp:RelyingParty id="rp" provider="provider"
- nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
- includeAttributeStatement="false" securityPolicyRef="ignore"
- maximumSPSessionLifetime="1" encryptionOptional="true"
- encryptAttributes="always" encryptAssertions="conditional"
- allowDelegation="${allowDelegation}"
- signRequests="conditional" signAssertions="always" signResponses="never"
- skipEndpointValidationWhenSigned="true" artifactType="7654">
- </rp:ProfileConfiguration>
-
- </rp:RelyingParty>
- <sec:Credential id="signer" xsi:type="sec:BasicInline">
- <sec:PublicKey>
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
- uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
- LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
- NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
- nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
- E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
- 4wIDAQAB
- </sec:PublicKey>
- </sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml
deleted file mode 100644
index f8bda90..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2SSOValues.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingPartyGroup xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:sec="urn:mace:shibboleth:2.0:security"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd">
- <rp:AnonymousRelyingParty provider="bar" />
- <rp:DefaultRelyingParty provider="foo"></rp:DefaultRelyingParty>
-
- <rp:RelyingParty id="rp" provider="provider"
- nameIDFormatPrecedence="one two" defaultSigningCredentialRef="signer"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport">
-
- <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile"
- includeAttributeStatement="false" securityPolicyRef="ignore"
- maximumSPSessionLifetime="1" encryptionOptional="true"
- encryptAttributes="always" encryptAssertions="conditional"
- allowDelegation="true" maximumTokenDelegationChainLength="3"
- signRequests="conditional" signAssertions="always" signResponses="never"
- skipEndpointValidationWhenSigned="true" artifactType="7654">
- </rp:ProfileConfiguration>
-
- </rp:RelyingParty>
- <sec:Credential id="signer" xsi:type="sec:BasicInline">
- <sec:PublicKey>
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
- uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
- LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
- NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
- nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
- E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
- 4wIDAQAB
- </sec:PublicKey>
- </sec:Credential>
-</rp:RelyingPartyGroup>
\ No newline at end of file
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml
deleted file mode 100644
index a2833bc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifact.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:spring="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
- xsi:type="saml:SAML2ArtifactResolutionProfile">
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml
deleted file mode 100644
index fd1e933..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2artifactValues.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2ArtifactResolutionProfile"
-
- securityPolicyRef="wobble"
-
- encryptNameIds="always" encryptAssertions="${prop.never}" assertionProxyCount="99" attributeAuthority="wibble"
-
- assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}"
- signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
- <saml:Audience>${prop.String1}</saml:Audience>
- <saml:ProxyAudience>ProxyAudience1</saml:ProxyAudience>
- <saml:ProxyAudience>ProxyAudience2</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml
deleted file mode 100644
index 354a967..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQuery.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2AttributeQueryProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml
deleted file mode 100644
index acde24e..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/saml2attributeQueryValues.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2AttributeQueryProfile"
-
- securityPolicyRef="wobble"
-
- encryptNameIds="always" encryptAssertions="${prop.never}" assertionProxyCount="99" attributeAuthority="wibble"
-
- assertionLifetime="${prop.tenMins}" includeConditionsNotBefore="${prop.false}" artifactType="765"
- signAssertions="${prop.never}" signRequests="never" signResponses="conditional">
- <saml:Audience>${prop.String1}</saml:Audience>
- <saml:Audience>Audience2</saml:Audience>
- <saml:ProxyAudience>ProxyAudience1</saml:ProxyAudience>
- <saml:ProxyAudience>${prop.String1}</saml:ProxyAudience>
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml
deleted file mode 100644
index 75ff8dd..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSO.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:ShibbolethSSOProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml
deleted file mode 100644
index 4cce2ed..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/shibbolethSSOValues.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:RelyingParty xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- id="rp" provider="provider" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
- nameIDFormatPrecedence="three four"
- defaultAuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:Password">
-
- <rp:ProfileConfiguration xsi:type="saml:ShibbolethSSOProfile"
- includeAttributeStatement="true" securityPolicyRef="ignore"
- artifactType="32767"
- signRequests="conditional"/>
-</rp:RelyingParty>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml
deleted file mode 100644
index 1a55255..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssos.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd"
-
- xsi:type="saml:SAML2SSOSProfile"
-
-/>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml
deleted file mode 100644
index 85dfb31..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/saml/ssosValues.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rp:ProfileConfiguration xmlns:rp="urn:mace:shibboleth:2.0:relying-party"
- xmlns:saml="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:spring="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="urn:mace:shibboleth:2.0:relying-party http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd
- urn:mace:shibboleth:2.0:relying-party:saml http://shibboleth.net/schema/idp/shibboleth-relying-party-saml.xsd
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
-
- xsi:type="saml:SAML2SSOSProfile"
- delegationPredicateRef="jimmy">
-</rp:ProfileConfiguration>
-
diff --git a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml b/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml
deleted file mode 100644
index b903ecc..0000000
--- a/idp-profile-spring/src/test/resources/net/shibboleth/idp/profile/spring/relyingparty/services.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
- xmlns:c="http://www.springframework.org/schema/c" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
- default-init-method="initialize"
- default-destroy-method="destroy">
-
- <bean id="rpResolverService" class="net.shibboleth.ext.spring.service.ReloadableSpringService"
- p:failFast="true" p:reloadCheckDelay="0">
- <constructor-arg name="claz"
- value="net.shibboleth.idp.relyingparty.RelyingPartyConfigurationResolver" />
- <constructor-arg name="strategy">
- <bean class="net.shibboleth.ext.spring.service.ClassBasedServiceStrategy"
- c:serviceableClaz="net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver" />
- </constructor-arg>
- <property name="serviceConfigurations">
- <util:list>
- <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml</value>
- <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml</value>
- </util:list>
- </property>
- </bean>
-
- <bean id="metadataResolverService" class="net.shibboleth.ext.spring.service.ReloadableSpringService"
- p:failFast="true" p:reloadCheckDelay="0">
- <constructor-arg name="claz"
- value="org.opensaml.saml.metadata.resolver.MetadataResolver" />
- <constructor-arg name="strategy">
- <bean class="net.shibboleth.ext.spring.service.ClassBasedServiceStrategy"
- c:serviceableClaz="net.shibboleth.idp.saml.metadata.RelyingPartyMetadataProvider" />
- </constructor-arg>
- <property name="serviceConfigurations">
- <util:list>
- <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/relying-party-group.xml</value>
- <value>classpath:/net/shibboleth/idp/profile/spring/relyingparty/propertyPlaceholder.xml</value>
- </util:list>
- </property>
- </bean>
-
- <bean id="shibboleth.RelyingPartyResolver"
- class="net.shibboleth.idp.relyingparty.impl.ReloadingRelyingPartyConfigurationResolver"
- c:resolverService-ref="rpResolverService" />
-
- <bean id="shibboleth.MetadataResolver"
- class="net.shibboleth.idp.saml.metadata.impl.ReloadingRelyingPartyMetadataProvider"
- c:resolverService-ref="metadataResolverService" />
-
-</beans>
-
\ No newline at end of file
diff --git a/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd b/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd
deleted file mode 100644
index 05468d9..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-relying-party-saml.xsd
+++ /dev/null
@@ -1,380 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:samlrp="urn:mace:shibboleth:2.0:relying-party:saml" xmlns:rp="urn:mace:shibboleth:2.0:relying-party" targetNamespace="urn:mace:shibboleth:2.0:relying-party:saml" elementFormDefault="qualified">
-
- <import namespace="urn:mace:shibboleth:2.0:relying-party" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-relying-party.xsd"/>
-
- <complexType name="SAML2ArtifactResolutionProfile">
- <annotation>
- <documentation>SAML 2.0 artifact query communication profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2ProfileConfigurationType"/>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2AttributeQueryProfile">
- <annotation>
- <documentation>SAML 2.0 attribute query communication profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2ProfileConfigurationType">
- <attributeGroup ref="samlrp:artifactSettingsGroup"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2LogoutRequestProfile">
- <annotation>
- <documentation>SAML 2.0 logout request communication profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2ProfileConfigurationType">
- <attributeGroup ref="samlrp:artifactSettingsGroup"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2ECPProfile">
- <annotation>
- <documentation>SAML 2.0 ECP single sign-on communication profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2SSOProfile"/>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2SSOSProfile">
- <annotation>
- <documentation>SAML 2.0 Liberty ID-WSF SSOS profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2SSOProfile">
- <attribute name="delegationPredicateRef" type="string">
- <annotation>
- <documentation>
- Reference to a predicate used to determine whether a delegated token presented
- to the IdP by another non-user entity may be used to complete SAML 2 SSO
- to this relying party.
- </documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2SSOProfile">
- <annotation>
- <documentation>SAML 2.0 single sign-on communication profile configuration.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAML2ProfileConfigurationType">
- <attributeGroup ref="samlrp:artifactSettingsGroup"/>
- <attribute name="allowDelegation" type="string">
- <annotation>
- <documentation>
- Whether produced assertions may be delegated.
-
- Mutually exclusive with allowDelegationPredicateRef.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="allowDelegationPredicateRef" type="string">
- <annotation>
- <documentation>
- Reference to a predicate use to determine whether produced assertions may be delegated.
-
- Mutually exclusive with allowDelegation.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="maximumTokenDelegationChainLength" type="string">
- <annotation>
- <documentation>
- Limits the total number of delegates that may be derived from the initial SAML token.
- The identity provider will not accept, and therefore will also not issue, Assertion tokens
- with a delegation chain length greater than this value.
-
- The length of a delegation chain is evaluated as the number of Delegate children within an
- Assertion's DelegationRestrictionType Condition element.
-
- The value used when applying the policy is determined by the value in effect for the
- relying party to which the initial SSO Assertion was issued.
-
- Defaults to 1.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="localityAddress" type="string">
- <annotation>
- <documentation>
- Deprecated, never implemented.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="localityDNSName" type="string">
- <annotation>
- <documentation>
- Deprecated, never implemented.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="includeAttributeStatement" type="string">
- <annotation>
- <documentation>
- Boolean flag indicating whether an attribute statement should be included with the
- authentication statement in the response sent back to the relying party.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="maximumSPSessionLifetime" type="string">
- <annotation>
- <documentation>
- The maximum amount of time the service provider should maintain a session
- for the user based on the authentication assertion. This attribute is converted into the
- SessionNotOnOrAfter attribute of the AuthnStatement. If no value is supplied then the
- SessionNotOnOrAfter attribute is not sent within the AuthnStatement.
-
- Lifetime is expressed in ISO8601 duration notation.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="skipEndpointValidationWhenSigned" type="string">
- <annotation>
- <documentation>
- If true, allows signed AuthnRequests to bypass validation of the response
- location against metadata, if a location is specified in the request.
- </documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAML2ProfileConfigurationType" abstract="true">
- <annotation>
- <documentation>Base type for SAML 2.0 communication profile configurations.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAMLProfileConfigurationType">
- <sequence>
- <element name="ProxyAudience" type="string" minOccurs="0" maxOccurs="unbounded">
- <annotation>
- <documentation>List of audiences for proxied assertions.</documentation>
- </annotation>
- </element>
- </sequence>
- <attribute name="encryptionOptional" type="string">
- <annotation>
- <documentation>A flag indicating whether encryption is optional.</documentation>
- </annotation>
- </attribute>
- <attribute name="encryptNameIds" type="string">
- <annotation>
- <documentation>
- A flag indicating whether NameIDs should be encrypted.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="encryptAssertions" type="string">
- <annotation>
- <documentation>
- A flag indicating whether assertions should be encrypted.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="encryptAttributes" type="string">
- <annotation>
- <documentation>
- A flag indicating whether attributes should be encrypted.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="assertionProxyCount" type="string">
- <annotation>
- <documentation>The maximum number of times an assertion may be proxied.</documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAML1ArtifactResolutionProfile">
- <annotation>
- <documentation>SAML 1.0 and 1.1 artifact query communication profile configurations.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAMLProfileConfigurationType"/>
- </complexContent>
- </complexType>
-
- <complexType name="SAML1AttributeQueryProfile">
- <annotation>
- <documentation>SAML 1.0 and 1.1 attribute query communication profile configurations.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAMLProfileConfigurationType">
- <attributeGroup ref="samlrp:artifactSettingsGroup"/>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="ShibbolethSSOProfile">
- <annotation>
- <documentation>Shibboleth 1 single sign-on communication profile configurations.</documentation>
- </annotation>
- <complexContent>
- <extension base="samlrp:SAMLProfileConfigurationType">
- <attributeGroup ref="samlrp:artifactSettingsGroup"/>
- <attribute name="localityAddress" type="string">
- <annotation>
- <documentation>
- Deprecated, never implemented.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="localityDNSName" type="string">
- <annotation>
- <documentation>
- Deprecated, never implemented.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="includeAttributeStatement" type="string">
- <annotation>
- <documentation>
- Boolean flag indicating whether an attribute statement should be included with the
- authentication statement in the response sent back to the relying party.
- </documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="SAMLProfileConfigurationType" abstract="true">
- <annotation>
- <documentation>Base type for SAML (1.0, 1.1, and 2.0) communication profile configurations.</documentation>
- </annotation>
- <complexContent>
- <extension base="rp:ProfileConfigurationType">
- <sequence>
- <choice>
- <element name="Audience" type="string" minOccurs="0" maxOccurs="unbounded">
- <annotation>
- <documentation>Additional audiences to which an assertion may be released.</documentation>
- </annotation>
- </element>
- </choice>
- </sequence>
- <attribute name="assertionLifetime" type="string">
- <annotation>
- <documentation>
- The amount of time before an issued assertion expires.
-
- Lifetime is expressed in ISO8601 duration notation.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="attributeAuthority" type="string">
- <annotation>
- <documentation>
- Deprecated in V3
- </documentation>
- </annotation>
- </attribute>
- <attribute name="includeConditionsNotBefore" type="string">
- <annotation>
- <documentation>
- Boolean flag indicating whether a NotBefore condition should be included in any
- assertions sent back to the relying party.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="outboundArtifactType" type="string">
- <annotation>
- <documentation>Deprecated in V3.</documentation>
- </annotation>
- </attribute>
- <attribute name="securityPolicyRef" type="string">
- <annotation>
- <documentation>
- Deprecated in V3.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="signingCredentialRef" type="string">
- <annotation>
- <documentation>ID of the credential to use to sign SAML assertions.</documentation>
- </annotation>
- </attribute>
- <attribute name="signAssertions" type="string">
- <annotation>
- <documentation>
- A flag indicating whether issued assertions should be signed. If no signing
- credential is provided on this configuration and no default signing credential is provided
- on the relying party configuration then signing will not occur regardless of this setting.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="signRequests" type="string">
- <annotation>
- <documentation>
- A flag indicating whether protocol requests should be signed. If no signing
- credential is provided on this configuration and no default signing credential is provided
- on the relying party configuration then signing will not occur regardless of this setting.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- <attribute name="signResponses" type="string">
- <annotation>
- <documentation>
- A flag indicating whether protocol responses should be signed. If no signing
- credential is provided on this configuration and no default signing credential is provided
- on the relying party configuration then signing will not occur regardless of this setting.
-
- One of "always", "conditional", "never"
- </documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <attributeGroup name="artifactSettingsGroup">
- <annotation>
- <documentation>
- Settings involved in artifact issuance for the subset of profiles that use them.
- </documentation>
- </annotation>
- <attribute name="artifactType" type="string">
- <annotation>
- <documentation>An integral type code for the artifact type to issue.</documentation>
- </annotation>
- </attribute>
- <attribute name="artifactResolutionServiceURL" type="string">
- <annotation>
- <documentation>
- The location, as a URL, of the issuer's resolution service endpoint.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="artifactResolutionServiceIndex" type="string">
- <annotation>
- <documentation>
- The index of the issuer's resolution service endpoint, corresponding to its metadata.
- </documentation>
- </annotation>
- </attribute>
- </attributeGroup>
-
-</schema>
diff --git a/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd b/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd
deleted file mode 100644
index d63b869..0000000
--- a/idp-schema/src/main/resources/schema/shibboleth-relying-party.xsd
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:rp="urn:mace:shibboleth:2.0:relying-party" xmlns:security="urn:mace:shibboleth:2.0:security" xmlns:shibmd="urn:mace:shibboleth:2.0:metadata" xmlns:service="urn:mace:shibboleth:2.0:services" targetNamespace="urn:mace:shibboleth:2.0:relying-party" elementFormDefault="qualified">
-
- <import namespace="urn:mace:shibboleth:2.0:metadata" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-metadata.xsd"/>
-
- <import namespace="urn:mace:shibboleth:2.0:security" schemaLocation="http://shibboleth.net/schema/idp/shibboleth-security.xsd"/>
-
- <annotation>
- <documentation>Schema describing relying party configurations.</documentation>
- </annotation>
-
- <element name="RelyingPartyGroup">
- <annotation>
- <documentation>Root element of a relying party configuration document.</documentation>
- </annotation>
- <complexType>
- <sequence>
- <element ref="rp:AnonymousRelyingParty" minOccurs="1"/>
- <element ref="rp:DefaultRelyingParty" minOccurs="1"/>
- <element ref="rp:RelyingParty" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="shibmd:MetadataProvider" minOccurs="0"/>
- <element ref="security:Credential" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="security:TrustEngine" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="RelyingParty" type="rp:IdentifiedRelyingPartyType">
- <annotation>
- <documentation>
- A set of configuration options specific to a given relying party or group of relying parties as
- expressed in SAML 2 metadata. Note, configuration options are not inherited from either the default
- relying party or ancestral groups.
- </documentation>
- </annotation>
- </element>
-
- <element name="DefaultRelyingParty" type="rp:UnidentifiedRelyingParty">
- <annotation>
- <documentation>
- The default set of configuration options to use for relying parties/groups not specifically called out.
- </documentation>
- </annotation>
- </element>
-
- <element name="AnonymousRelyingParty" type="rp:UnidentifiedRelyingParty">
- <annotation>
- <documentation>
- The set of configuration options to use for relying parties/groups which are not authenticated or known
- to the system.
- </documentation>
- </annotation>
- </element>
-
- <complexType name="IdentifiedRelyingPartyType">
- <annotation>
- <documentation>A relying party configuration specific to a particular relying party.</documentation>
- </annotation>
- <complexContent>
- <extension base="rp:UnidentifiedRelyingParty">
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>The entity ID of the relying party.</documentation>
- </annotation>
- </attribute>
- </extension>
- </complexContent>
- </complexType>
-
- <complexType name="UnidentifiedRelyingParty">
- <annotation>
- <documentation>
- Relying party configuration information that is not
- specific to an identified relying party.
- </documentation>
- </annotation>
- <sequence>
- <element ref="rp:ProfileConfiguration" minOccurs="0"
- maxOccurs="unbounded">
- <annotation>
- <documentation>
- Profile specific configuration information.
- </documentation>
- </annotation>
- </element>
- </sequence>
- <attribute name="provider" type="string" use="required">
- <annotation>
- <documentation>
- The entity ID the responder should use when
- communicating with the relying party.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="defaultAuthenticationMethod" type="string">
- <annotation>
- <documentation>
- The authentication method to use to authenticate the
- user, if one is not specified within the request.
- This method must be one of the methods handled by
- one of the authentication handlers defined for the
- system.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="defaultSigningCredentialRef" type="string">
- <annotation>
- <documentation>
- The ID of the default signing credential for the
- relying party. This is provided as a convenience
- method so that this credential need not be defined
- on every signing supporting profile configuration.
- If a profile configuration has a defined signing
- credential it must be used in place of the
- credential retrieved here.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="nameIDFormatPrecedence" type="string">
- <annotation>
- <documentation>
- A space delimited list that provides a precedence
- for NameID format to be used with the relying party.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="detailedErrors" type="string">
- <annotation>
- <documentation>
- a boolean to indicate whether details errors are to be reported
- </documentation>
- </annotation>
- </attribute>
- </complexType>
-
- <element name="ProfileConfiguration" type="rp:ProfileConfigurationType"/>
- <complexType name="ProfileConfigurationType" abstract="true">
- <annotation>
- <documentation>
- An abstract type from which all profile specific configuration types are derived.
- </documentation>
- </annotation>
- </complexType>
-
-</schema>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list