<documentation>Base type for Shibboleth IdP profile handlers.</documentation>
</annotation>
<complexContent>
- <extension base="ph:ProfileHandlerType">
- <attribute name="relyingPartyManagerId" type="string"
- default="shibboleth.RelyingPartyConfigurationManager">
- <annotation>
- <documentation>
- The component ID of the relying party configuration manager to use with the profile handler.
-
- This setting should not be changed from its default unless the deployer fully understands
- the inter-relationship between IdP components.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="sessionManagerId" type="string" default="shibboleth.SessionManager">
- <annotation>
- <documentation>
- The component ID of the session manager to use with the profile handler.
-
- This setting should not be changed from its default unless the deployer fully understands
- the inter-relationship between IdP components.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="securityPolicyFactoryId" type="string" default="shibboleth.SecurityPolicyFactory">
- <annotation>
- <documentation>
- The component ID of the security policy factory to use with the profile handler.
-
- This setting should not be changed from its default unless the deployer fully understands
- the inter-relationship between IdP components.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="trustEngineId" type="string" default="shibboleth.TrustEngine">
- <annotation>
- <documentation>
- The component ID of the trust engine to use with the profile handler.
-
- This setting should not be changed from its default unless the deployer fully understands
- the inter-relationship between IdP components.
- </documentation>
- </annotation>
- </attribute>
- </extension>
+ <extension base="ph:ProfileHandlerType" />
</complexContent>
</complexType>
urn:mace:shibboleth:2.0:idp:profiles classpath:/schema/shibboleth-2.0-idp-profile.xsd">
<ErrorHandler xsi:type="JSPErrorHandler" jspPagePath="/error.jsp" />
-
- <!-- ErrorHandler xsi:type="VelocityErrorHandler" jspPagePath="error.jsp" /-->
<ProfileHandler xsi:type="idpProfile:SAML2SSO">
<RequestPath>/shibboleth/IdP/saml2/HTTP/SSO</RequestPath>
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.w3c.dom.Element;
+
+/**
+ * Base class for SAML 1 profile handler configuration parsers.
+ */
+public abstract class AbstractSAML1ProfileHandlerBeanDefinitionParser extends
+ AbstractSAMLProfileHandlerBeanDefinitionParser {
+
+ /** {@inheritDoc} */
+ protected void doParse(Element config, BeanDefinitionBuilder builder) {
+ super.doParse(config, builder);
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.w3c.dom.Element;
+
+/**
+ * Base class for SAML 2 profile handler configuration parsers.
+ */
+public abstract class AbstractSAML2ProfileHandlerBeanDefinitionParser extends
+ AbstractSAMLProfileHandlerBeanDefinitionParser {
+
+ /** {@inheritDoc} */
+ protected void doParse(Element config, BeanDefinitionBuilder builder) {
+ super.doParse(config, builder);
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.config.profile.AbstractProfileHandlerBeanDefinitionParser;
+
+/**
+ * Base class for SAML profile handler configuration parsers.
+ */
+public abstract class AbstractSAMLProfileHandlerBeanDefinitionParser extends
+ AbstractProfileHandlerBeanDefinitionParser {
+
+ /** {@inheritDoc} */
+ protected void doParse(Element config, BeanDefinitionBuilder builder) {
+ super.doParse(config, builder);
+
+ builder.addPropertyReference("messageDecoderFactory", config.getAttributeNS(null, "messageDecoderFactoryId"));
+
+ builder.addPropertyReference("messageEncoderFactory", config.getAttributeNS(null, "messageEncoderFactoryId"));
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import edu.internet2.middleware.shibboleth.common.config.BaseSpringNamespaceHandler;
+
+/**
+ * Spring namespace handler for IdP profile handlers.
+ */
+public class IdPProfileHandlerNamespaceHandler extends BaseSpringNamespaceHandler {
+
+ /** IdP profile handler namespace URI. */
+ public static final String NAMESPACE = "urn:mace:shibboleth:2.0:idp:profiles";
+
+ /** {@inheritDoc} */
+ public void init() {
+ registerBeanDefinitionParser(SAML2AttributeQueryProfileHandlerBeanDefinitionParser.SCHEMA_TYPE,
+ new SAML2AttributeQueryProfileHandlerBeanDefinitionParser());
+
+ registerBeanDefinitionParser(SAML2SSOProfileHandlerBeanDefinitionParser.SCHEMA_TYPE,
+ new SAML2SSOProfileHandlerBeanDefinitionParser());
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.idp.profile.saml2.HTTPSOAPAttributeQuery;
+
+/**
+ * Spring bean definition parser for {@link HTTPSOAPAttributeQuery} profile handlers.
+ */
+public class SAML2AttributeQueryProfileHandlerBeanDefinitionParser extends
+ AbstractSAML2ProfileHandlerBeanDefinitionParser {
+
+ /** Schema type. */
+ public static final QName SCHEMA_TYPE = new QName(IdPProfileHandlerNamespaceHandler.NAMESPACE,
+ "SAML2AttributeQuery");
+
+ /** {@inheritDoc} */
+ protected Class getBeanClass(Element arg0) {
+ return HTTPSOAPAttributeQuery.class;
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.config.profile;
+
+import javax.xml.namespace.QName;
+
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.idp.profile.saml2.AuthenticationRequestBrowserPost;
+
+/**
+ * Spring bean definition parser for {@link AuthenticationRequestBrowserPost} profile handlers.
+ */
+public class SAML2SSOProfileHandlerBeanDefinitionParser extends AbstractSAML2ProfileHandlerBeanDefinitionParser {
+
+ /** Schema type. */
+ public static final QName SCHEMA_TYPE = new QName(IdPProfileHandlerNamespaceHandler.NAMESPACE, "SAML2SSO");
+
+ /** {@inheritDoc} */
+ protected Class getBeanClass(Element arg0) {
+ return AuthenticationRequestBrowserPost.class;
+ }
+
+ /** {@inheritDoc} */
+ protected void doParse(Element config, BeanDefinitionBuilder builder) {
+ super.doParse(config, builder);
+
+ builder.addPropertyReference("authenticationManager", config.getAttributeNS(null, "authenticationManagerId"));
+ }
+}
\ No newline at end of file