Start of schema for profile handlers
authorlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Sun, 20 May 2007 12:36:46 +0000 (12:36 +0000)
committerlajoie <lajoie@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Sun, 20 May 2007 12:36:46 +0000 (12:36 +0000)
Flesh out default protocol config

git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/trunk@2201 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

resources/classpath/schema/shibboleth-2.0-idp-profile.xsd [new file with mode: 0644]
resources/classpath/schema/shibboleth-2.0-idp-service.xsd [moved from resources/classpath/schema/shibboleth-2.0-idp-config.xsd with 88% similarity]
resources/conf/protocol.xml
resources/conf/service.xml
src/edu/internet2/middleware/shibboleth/idp/profile/saml2/AbstractSAML2ProfileHandler.java

diff --git a/resources/classpath/schema/shibboleth-2.0-idp-profile.xsd b/resources/classpath/schema/shibboleth-2.0-idp-profile.xsd
new file mode 100644 (file)
index 0000000..533a69d
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema targetNamespace="urn:mace:shibboleth:2.0:idp:profiles" xmlns="http://www.w3.org/2001/XMLSchema"
+    xmlns:ph="urn:mace:shibboleth:2.0:profile-handler" xmlns:idpph="urn:mace:shibboleth:2.0:idp:profiles"
+    elementFormDefault="qualified">
+
+    <import namespace="urn:mace:shibboleth:2.0:profile-handler"
+        schemaLocation="classpath:/schema/shibboleth-2.0-profile-handler.xsd" />
+        
+    <annotation>
+        <documentation>
+            This schema specifies the configuration options for Shibboleth IdP profile handlers.
+        </documentation>
+    </annotation>
+
+    <complexType name="SAML2SSO">
+        <annotation>
+            <documentation>Configuration type for SAML 2 Attribute Query profile handlers.</documentation>
+        </annotation>
+        <complexContent>
+            <extension base="idpph:SAML2ProfileHandler">
+                <attribute name="authenticationManagerId" type="string" default="shibboleth.AuthenticationManager">
+                    <annotation>
+                        <documentation>
+                            The component ID of the authentication 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>
+            </extension>
+        </complexContent>
+    </complexType>
+
+    <complexType name="SAML2AttributeQuery">
+        <annotation>
+            <documentation>Configuration type for SAML 2 Attribute Query profile handlers.</documentation>
+        </annotation>
+        <complexContent>
+            <extension base="idpph:SAML2ProfileHandler" />
+        </complexContent>
+    </complexType>
+
+    <complexType name="SAML2ProfileHandler" abstract="true">
+        <annotation>
+            <documentation>Base type for SAML 2 profile handlers.</documentation>
+        </annotation>
+        <complexContent>
+            <extension base="idpph:SAMLProfileHandler" />
+        </complexContent>
+    </complexType>
+
+    <complexType name="SAML1ProfileHandler" abstract="true">
+        <annotation>
+            <documentation>Base type for SAML 1 profile handlers.</documentation>
+        </annotation>
+        <complexContent>
+            <extension base="idpph:SAMLProfileHandler" />
+        </complexContent>
+    </complexType>
+
+    <complexType name="SAMLProfileHandler" abstract="true">
+        <annotation>
+            <documentation>Base type for Shibboleth IdP SAML profile handlers.</documentation>
+        </annotation>
+        <complexContent>
+            <extension base="idpph:IdPProfileHandlerType">
+                <attribute name="messageDecoderFactoryId" type="string" default="shibboleth.MessageDecoderFactory">
+                    <annotation>
+                        <documentation>
+                            The component ID of the message decoder 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="messageEncoderFactoryId" type="string" default="shibboleth.MessageEncoderFactory">
+                    <annotation>
+                        <documentation>
+                            The component ID of the message encoder 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>
+        </complexContent>
+    </complexType>
+
+    <complexType name="IdPProfileHandlerType" abstract="true">
+        <annotation>
+            <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>
+        </complexContent>
+    </complexType>
+
+</schema>
\ No newline at end of file
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:mace:shibboleth:2.0:idp-config"
-    xmlns:idpconf="urn:mace:shibboleth:2.0:idp-config" xmlns:service="urn:mace:shibboleth:2.0:services"
+<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:mace:shibboleth:2.0:idp:services"
+    xmlns:idpconf="urn:mace:shibboleth:2.0:idp:services" xmlns:service="urn:mace:shibboleth:2.0:services"
     elementFormDefault="qualified">
 
     <import namespace="urn:mace:shibboleth:2.0:services" schemaLocation="classpath:/schema/shibboleth-2.0-services.xsd" />
index 502dcf2..32cc1f8 100644 (file)
@@ -1,17 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <ProfileHandlers xmlns="urn:mace:shibboleth:2.0:profile-handler"
+                 xmlns:idpProfile="urn:mace:shibboleth:2.0:idp:profiles"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                 xsi:schemaLocation="urn:mace:shibboleth:2.0:profile-handler classpath:/schema/shibboleth-2.0-profile-handler.xsd">
+                 xsi:schemaLocation="urn:mace:shibboleth:2.0:profile-handler classpath:/schema/shibboleth-2.0-profile-handler.xsd
+                                     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="....">
-        <RequestPath> </RequestPath>
-        <RequestPath> </RequestPath>
-        <RequestPath> </RequestPath>
+    <ProfileHandler xsi:type="idpProfile:SAML2SSO">
+        <RequestPath>/shibboleth/IdP/saml2/HTTP/SSO</RequestPath>
+    </ProfileHandler>
+
+    <ProfileHandler xsi:type="idpProfile:SAML2AttributeQuery">
+        <RequestPath>/shibboleth/IdP/saml2/SOAP/attribute</RequestPath>
     </ProfileHandler>
 
 </ProfileHandlers>
\ No newline at end of file
index ad0a3a8..01374ef 100644 (file)
     configuration file may be cause an error before the service stops trying to load it.
  -->
 
-<IdPConfig xmlns="urn:mace:shibboleth:2.0:idp-config" xmlns:service="urn:mace:shibboleth:2.0:services"
+<IdPConfig xmlns="urn:mace:shibboleth:2.0:idp:services" xmlns:service="urn:mace:shibboleth:2.0:services"
     xmlns:profile="urn:mace:shibboleth:2.0:profile-handler" xmlns:relyingParty="urn:mace:shibboleth:2.0:relying-party"
     xmlns:resolver="urn:mace:shibboleth:2.0:resolver" xmlns:afp="urn:mace:shibboleth:2.0:afp"
     xmlns:resource="urn:mace:shibboleth:2.0:resource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:idp-config classpath:/schema/shibboleth-2.0-idp-config.xsd
-                        urn:mace:shibboleth:2.0:services classpath:/schema/shibboleth-2.0-services.xsd
+    xsi:schemaLocation="urn:mace:shibboleth:2.0:idp-config classpath:/schema/shibboleth-2.0-idp-service.xsd
+                        urn:mace:shibboleth:2.0:idp:services classpath:/schema/shibboleth-2.0-services.xsd
                         urn:mace:shibboleth:2.0:profile-handler classpath:/schema/shibboleth-2.0-profile-handler.xsd
                         urn:mace:shibboleth:2.0:relying-party classpath:/schema/shibboleth-2.0-relying-party.xsd
                         urn:mace:shibboleth:2.0:resolver classpath:/schema/shibboleth-2.0-attribute-resolver.xsd
index 2a5a3d9..3839635 100644 (file)
@@ -355,7 +355,7 @@ public abstract class AbstractSAML2ProfileHandler extends AbstractSAMLProfileHan
      *
      * @return constructed conditions
      */
-    private Conditions buildConditions(final DateTime issueInstant, final AbstractSAML2ProfileConfiguration profileConfig) {
+    protected Conditions buildConditions(final DateTime issueInstant, final AbstractSAML2ProfileConfiguration profileConfig) {
         
         Conditions conditions = conditionsBuilder.buildObject();
         conditions.setNotBefore(issueInstant);