<?xml version="1.0" encoding="US-ASCII"?>\r
<schema targetNamespace="urn:mace:shibboleth:2.0:native:sp:config"\r
xmlns="http://www.w3.org/2001/XMLSchema"\r
- xmlns:conf="urn:mace:shibboleth:sp:config:2.0"\r
+ xmlns:conf="urn:mace:shibboleth:2.0:native:sp:config"\r
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"\r
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"\r
xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"\r
\r
<annotation>\r
<documentation>\r
- 2.0 schema for XML-based configuration of Shibboleth Native SP instances.\r
- First appearing in Shibboleth 2.0 release.\r
- </documentation>\r
- </annotation>\r
+ 2.0 schema for XML-based configuration of Shibboleth Native SP instances.\r
+ First appearing in Shibboleth 2.0 release.\r
+ </documentation>\r
+ </annotation>\r
\r
- <simpleType name="string">
- <restriction base="string">
+ <simpleType name="string">\r
+ <restriction base="string">\r
<minLength value="1"/>\r
- </restriction>
+ </restriction>\r
</simpleType>\r
\r
<simpleType name="listOfStrings">\r
<simpleType name="listOfURIs">\r
<list itemType="anyURI"/>\r
</simpleType>\r
+\r
+ <simpleType name="bindingBoolean">\r
+ <restriction base="string">\r
+ <enumeration value="true"/>\r
+ <enumeration value="false"/>\r
+ <enumeration value="front"/>\r
+ <enumeration value="back"/>\r
+ </restriction>\r
+ </simpleType>\r
\r
<complexType name="PluggableType">\r
<sequence>\r
</complexType>\r
\r
<element name="SPConfig">\r
- <complexType>
- <annotation>
- <documentation>Root of configuration</documentation>
- </annotation>
- <sequence>
- <element ref="conf:Extensions" minOccurs="0"/>
- <element ref="conf:OutOfProcess"/>
- <element ref="conf:InProcess"/>
- <element ref="conf:Applications"/>
- <element ref="conf:SecurityPolicies"/>
- </sequence>
- <attribute name="logger" type="anyURI"/>
- <attribute name="clockSkew" type="unsignedInt"/>
- <anyAttribute namespace="##other" processContents="lax"/>
+ <complexType>\r
+ <annotation>\r
+ <documentation>Root of configuration</documentation>\r
+ </annotation>\r
+ <sequence>\r
+ <element ref="conf:Extensions" minOccurs="0"/>\r
+ <element ref="conf:OutOfProcess"/>\r
+ <element ref="conf:InProcess"/>\r
+ <choice minOccurs="0">\r
+ <element name="UnixListener">\r
+ <complexType>\r
+ <attribute name="address" type="conf:string" use="required"/>\r
+ </complexType>\r
+ </element>\r
+ <element name="TCPListener">\r
+ <complexType>\r
+ <attribute name="address" type="conf:string" use="required"/>\r
+ <attribute name="port" type="unsignedInt" use="required"/>\r
+ <attribute name="acl" type="conf:listOfStrings" default="127.0.0.1"/>\r
+ </complexType>\r
+ </element>\r
+ <element name="Listener" type="conf:PluggableType"/>\r
+ </choice>\r
+ <element ref="conf:StorageService" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element ref="conf:SessionCache" minOccurs="0"/>\r
+ <element ref="conf:ReplayCache" minOccurs="0"/>\r
+ <element ref="conf:ArtifactMap" minOccurs="0"/>\r
+ <element name="RequestMapper" type="conf:PluggableType" minOccurs="0"/>\r
+ <element ref="conf:ApplicationDefaults"/>\r
+ <element ref="conf:SecurityPolicies"/>\r
+ </sequence>\r
+ <attribute name="logger" type="anyURI"/>\r
+ <attribute name="clockSkew" type="unsignedInt"/>\r
+ <anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
\r
<sequence>\r
<element name="Library" minOccurs="0" maxOccurs="unbounded">\r
<complexType>\r
- <complexContent>\r
- <restriction base="conf:PluggableType">\r
- <sequence>\r
- <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
- </sequence>\r
- <attribute name="path" type="anyURI" use="required"/>\r
- <attribute name="fatal" type="boolean" default="true"/>\r
- </restriction>\r
- </complexContent>\r
+ <sequence>\r
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="path" type="anyURI" use="required"/>\r
+ <attribute name="fatal" type="boolean" default="true"/>\r
+ <anyAttribute namespace="##any" processContents="lax"/>\r
</complexType>\r
</element>\r
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
</complexType>\r
</element>\r
\r
- <element name="ReplayCache">
+ <element name="ReplayCache">\r
<annotation>\r
<documentation>Ties ReplayCache to a custom StorageService</documentation>\r
</annotation>\r
<complexType>\r
- <sequence/>
+ <sequence/>\r
<attribute name="StorageService" type="IDREF" use="required"/>\r
</complexType>\r
- </element>
+ </element>\r
\r
- <element name="ArtifactMap">
+ <element name="ArtifactMap">\r
<annotation>\r
<documentation>Customizes an ArtifactMap</documentation>\r
</annotation>\r
<complexType>\r
- <sequence/>
- <attribute name="StorageService" type="IDREF"/>
- <attribute name="context" type="conf:string"/>
+ <sequence/>\r
+ <attribute name="StorageService" type="IDREF"/>\r
+ <attribute name="context" type="conf:string"/>\r
<attribute name="artifactTTL" type="unsignedInt" default="180"/>\r
- </complexType>
+ </complexType>\r
</element>\r
\r
<element name="OutOfProcess">\r
<annotation>\r
- <documentation>Container for shibd out-of-process configuration</documentation>\r
+ <documentation>Container for out-of-process (shibd) configuration</documentation>\r
</annotation>\r
<complexType>\r
- <sequence>
- <element ref="conf:Extensions" minOccurs="0"/>
- <choice>
- <element name="UnixListener">
- <complexType>
- <attribute name="address" type="conf:string" use="required"/>
- </complexType>
- </element>
- <element name="TCPListener">
- <complexType>
- <attribute name="address" type="conf:string" use="required"/>
- <attribute name="port" type="unsignedInt" use="required"/>
- <attribute name="acl" type="conf:listOfStrings" default="127.0.0.1"/>
- </complexType>
- </element>
- <element name="Listener" type="conf:PluggableType"/>
- </choice>
- <element ref="conf:StorageService" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="conf:SessionCache" minOccurs="0"/>
- <element ref="conf:ReplayCache" minOccurs="0"/>\r
- <element ref="conf:ArtifactMap" minOccurs="0"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="logger" type="anyURI"/>
+ <sequence>\r
+ <element ref="conf:Extensions" minOccurs="0"/>\r
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="logger" type="anyURI"/>\r
+ <attribute name="catchAll" type="boolean"/>\r
<anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
</documentation>\r
</annotation>\r
<complexType>\r
- <sequence>
- <element ref="conf:Extensions" minOccurs="0"/>
- <element ref="conf:SessionCache" minOccurs="0"/>\r
- <element name="RequestMapper" type="conf:PluggableType"/>
- <element name="Implementation" minOccurs="0">
- <complexType>
- <sequence>
- <element ref="conf:ISAPI" minOccurs="0"/>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- </complexType>
- </element>
- <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="logger" type="anyURI"/>
- <attribute name="unsetHeaderValue" type="string" use="optional"/>\r
+ <sequence>\r
+ <element ref="conf:Extensions" minOccurs="0"/>\r
+ <element ref="conf:ISAPI" minOccurs="0"/>\r
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="logger" type="anyURI"/>\r
+ <attribute name="unsetHeaderValue" type="string"/>\r
+ <attribute name="checkSpoofing" type="boolean"/>\r
+ <attribute name="catchAll" type="boolean"/>\r
<anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
<element ref="conf:OR"/>\r
<element ref="conf:NOT"/>\r
<element ref="conf:Rule"/>\r
+ <element ref="conf:RuleRegex"/>\r
</choice>\r
</complexType>\r
<complexType name="MultiOperatorType">\r
<element ref="conf:OR"/>\r
<element ref="conf:NOT"/>\r
<element ref="conf:Rule"/>\r
+ <element ref="conf:RuleRegex"/>\r
</choice>\r
</complexType>\r
<element name="Rule">\r
<simpleContent>\r
<extension base="conf:listOfStrings">\r
<attribute name="require" type="conf:string" use="required"/>\r
+ <attribute name="list" type="boolean"/>\r
</extension>\r
</simpleContent>\r
</complexType>\r
</element>\r
+ <element name="RuleRegex">\r
+ <complexType>\r
+ <simpleContent>\r
+ <extension base="conf:string">\r
+ <attribute name="require" type="conf:string" use="required"/>\r
+ <attribute name="ignoreCase" type="boolean"/>\r
+ </extension>\r
+ </simpleContent>\r
+ </complexType>\r
+ </element>\r
\r
<attributeGroup name="ContentSettings">\r
<attribute name="authType" type="conf:string"/>\r
<attribute name="requireSessionWith" type="conf:string"/>\r
<attribute name="exportAssertion" type="boolean"/>\r
<attribute name="redirectToSSL" type="unsignedInt"/>\r
+ <attribute name="entityID" type="anyURI"/>\r
<attribute name="isPassive" type="boolean"/>\r
<attribute name="forceAuthn" type="boolean"/>\r
<attribute name="authnContextClassRef" type="anyURI"/>\r
<attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>\r
+ <attribute name="redirectErrors" type="anyURI"/>\r
+ <attribute name="sessionError" type="anyURI"/>\r
+ <attribute name="metadataError" type="anyURI"/>\r
+ <attribute name="accessError" type="anyURI"/>\r
+ <attribute name="sslError" type="anyURI"/>\r
<anyAttribute namespace="##other" processContents="lax"/>\r
</attributeGroup>\r
<element name="AccessControlProvider" type="conf:PluggableType"/>\r
<element ref="conf:AccessControl"/>\r
<element ref="conf:AccessControlProvider"/>\r
</choice>\r
- <element ref="conf:Host" minOccurs="0" maxOccurs="unbounded"/>\r
+ <choice minOccurs="0" maxOccurs="unbounded">\r
+ <element ref="conf:Host"/>\r
+ <element ref="conf:HostRegex"/>\r
+ </choice>\r
</sequence>\r
<attribute name="applicationId" type="conf:string" fixed="default"/>\r
<attributeGroup ref="conf:ContentSettings"/>\r
<element ref="conf:AccessControl"/>\r
<element ref="conf:AccessControlProvider"/>\r
</choice>\r
- <element ref="conf:Path" minOccurs="0" maxOccurs="unbounded"/>\r
+ <choice minOccurs="0" maxOccurs="unbounded">\r
+ <element ref="conf:Path"/>\r
+ <element ref="conf:PathRegex"/>\r
+ <element ref="conf:Query"/>\r
+ </choice>\r
</sequence>\r
<attribute name="scheme">\r
<simpleType>\r
</attribute>\r
<attribute name="name" type="conf:string" use="required"/>\r
<attribute name="port" type="unsignedInt"/>\r
- <attribute name="applicationId" type="conf:string"/>\r
+ <attribute name="applicationId" type="conf:string"/>\r
<attributeGroup ref="conf:ContentSettings"/>\r
</complexType>\r
</element>\r
+ \r
+ <element name="HostRegex">\r
+ <complexType>\r
+ <sequence>\r
+ <choice minOccurs="0">\r
+ <element ref="conf:htaccess"/>\r
+ <element ref="conf:AccessControl"/>\r
+ <element ref="conf:AccessControlProvider"/>\r
+ </choice>\r
+ <choice minOccurs="0" maxOccurs="unbounded">\r
+ <element ref="conf:Path"/>\r
+ <element ref="conf:PathRegex"/>\r
+ <element ref="conf:Query"/>\r
+ </choice>\r
+ </sequence>\r
+ <attribute name="regex" type="conf:string" use="required"/>\r
+ <attribute name="ignoreCase" type="boolean" default="true"/>\r
+ <attribute name="applicationId" type="conf:string"/>\r
+ <attributeGroup ref="conf:ContentSettings"/>\r
+ </complexType>\r
+ </element>\r
\r
<element name="Path">\r
<complexType>\r
<element ref="conf:AccessControl"/>\r
<element ref="conf:AccessControlProvider"/>\r
</choice>\r
- <element ref="conf:Path" minOccurs="0" maxOccurs="unbounded"/>\r
+ <choice minOccurs="0" maxOccurs="unbounded">\r
+ <element ref="conf:Path"/>\r
+ <element ref="conf:PathRegex"/>\r
+ <element ref="conf:Query"/>\r
+ </choice>\r
</sequence>\r
- <attribute name="name" type="conf:string" use="required"/>\r
- <attribute name="applicationId" type="conf:string"/>\r
- <attributeGroup ref="conf:ContentSettings"/>\r
+ <attribute name="name" type="conf:string" use="required"/>\r
+ <attribute name="applicationId" type="conf:string"/>\r
+ <attributeGroup ref="conf:ContentSettings"/>\r
</complexType>\r
</element>\r
+\r
+ <element name="PathRegex">\r
+ <complexType>\r
+ <sequence>\r
+ <choice minOccurs="0">\r
+ <element ref="conf:htaccess"/>\r
+ <element ref="conf:AccessControl"/>\r
+ <element ref="conf:AccessControlProvider"/>\r
+ </choice>\r
+ <element ref="conf:Query" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="regex" type="conf:string" use="required"/>\r
+ <attribute name="ignoreCase" type="boolean" default="true"/>\r
+ <attribute name="applicationId" type="conf:string"/>\r
+ <attributeGroup ref="conf:ContentSettings"/>\r
+ </complexType>\r
+ </element>\r
+ \r
+ <element name="Query">\r
+ <complexType>\r
+ <sequence>\r
+ <choice minOccurs="0">\r
+ <element ref="conf:htaccess"/>\r
+ <element ref="conf:AccessControl"/>\r
+ <element ref="conf:AccessControlProvider"/>\r
+ </choice>\r
+ <element ref="conf:Query" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="name" type="conf:string" use="required"/>\r
+ <attribute name="regex" type="conf:string"/>\r
+ <attributeGroup ref="conf:ContentSettings"/>\r
+ </complexType>\r
+ </element>\r
\r
- <element name="Applications">\r
+ <element name="ApplicationDefaults">\r
<annotation>\r
- <documentation>Container for global settings and application-specific overrides</documentation>\r
+ <documentation>Container for default settings and application-specific overrides</documentation>\r
</annotation>\r
<complexType>\r
<sequence>\r
<element ref="conf:Sessions"/>\r
- <element ref="conf:Errors"/>\r
- <element ref="conf:DefaultRelyingParty"/>\r
- <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>
- <element name="MetadataProvider" type="conf:PluggableType"/>
+ <element ref="conf:Errors" minOccurs="0"/>\r
+ <element ref="conf:RelyingParty" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element ref="conf:Notify" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element name="MetadataProvider" type="conf:PluggableType"/>\r
<element name="TrustEngine" type="conf:PluggableType"/>\r
<element name="AttributeExtractor" type="conf:PluggableType" minOccurs="0"/>\r
<element name="AttributeResolver" type="conf:PluggableType" minOccurs="0"/>\r
<element name="AttributeFilter" type="conf:PluggableType" minOccurs="0"/>\r
<element name="CredentialResolver" type="conf:PluggableType" minOccurs="0"/>\r
- <element ref="conf:Application" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element ref="conf:ApplicationOverride" minOccurs="0" maxOccurs="unbounded"/>\r
</sequence>\r
<attribute name="id" type="conf:string" fixed="default"/>\r
<attribute name="entityID" type="anyURI" use="required"/>\r
<attribute name="policyId" type="conf:string" use="required"/>\r
- <attribute name="homeURL" type="anyURI" default="/"/>\r
- <attribute name="REMOTE_USER" type="conf:listOfStrings"/>\r
- <attribute name="unsetHeaders" type="conf:listOfStrings"/>\r
- <anyAttribute namespace="##other" processContents="lax"/>\r
+ <attributeGroup ref="conf:ApplicationGroup"/>\r
+ <attributeGroup ref="conf:RelyingPartyGroup"/>\r
+ <anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
\r
- <element name="Application">\r
+ <element name="ApplicationOverride">\r
<annotation>\r
<documentation>Container for application-specific overrides</documentation>\r
</annotation>\r
<sequence>\r
<element ref="conf:Sessions" minOccurs="0"/>\r
<element ref="conf:Errors" minOccurs="0"/>\r
- <element ref="conf:DefaultRelyingParty" minOccurs="0"/>\r
+ <element ref="conf:RelyingParty" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element ref="conf:Notify" minOccurs="0" maxOccurs="unbounded"/>\r
<element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>\r
<element name="MetadataProvider" type="conf:PluggableType" minOccurs="0"/>\r
<element name="TrustEngine" type="conf:PluggableType" minOccurs="0"/>\r
<attribute name="id" type="conf:string" use="required"/>\r
<attribute name="entityID" type="anyURI"/>\r
<attribute name="policyId" type="conf:string"/>\r
- <attribute name="homeURL" type="anyURI" default="/"/>\r
- <attribute name="REMOTE_USER" type="conf:listOfStrings"/>\r
- <attribute name="unsetHeaders" type="conf:listOfStrings"/>\r
+ <attributeGroup ref="conf:ApplicationGroup"/>\r
+ <attributeGroup ref="conf:RelyingPartyGroup"/>\r
<anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
\r
+ <attributeGroup name="ApplicationGroup">\r
+ <attribute name="homeURL" type="anyURI" default="/"/>\r
+ <attribute name="REMOTE_USER" type="conf:listOfStrings"/>\r
+ <attribute name="unsetHeaders" type="conf:listOfStrings"/>\r
+ <attribute name="metadataAttributePrefix" type="conf:string"/>\r
+ <attribute name="attributePrefix" type="conf:string"/>\r
+ </attributeGroup>\r
+\r
+ <attributeGroup name="RelyingPartyGroup">\r
+ <attribute name="authType" type="conf:string"/>\r
+ <attribute name="authUsername" type="conf:string"/>\r
+ <attribute name="authPassword" type="conf:string"/>\r
+ <attribute name="signing" type="conf:bindingBoolean"/>\r
+ <attribute name="signingAlg" type="anyURI"/>\r
+ <attribute name="digestAlg" type="anyURI"/>\r
+ <attribute name="encryption" type="conf:bindingBoolean"/>\r
+ <attribute name="encryptionAlg" type="anyURI"/>\r
+ <attribute name="keyName" type="conf:string"/>\r
+ <attribute name="artifactEndpointIndex" type="unsignedShort"/>\r
+ <attribute name="chunkedEncoding" type="boolean"/>\r
+ <attribute name="connectTimeout" type="unsignedShort"/>\r
+ <attribute name="timeout" type="unsignedShort"/>\r
+ <attribute name="requireConfidentiality" type="boolean"/>\r
+ <attribute name="requireTransportAuth" type="boolean"/>\r
+ <attribute name="requireSignedAssertions" type="boolean"/>\r
+ </attributeGroup>\r
+ \r
<element name="Sessions">\r
<annotation>\r
<documentation>Container for specifying protocol handlers and session policy</documentation>\r
<complexType>\r
<choice minOccurs="0" maxOccurs="unbounded">\r
<element ref="conf:SessionInitiator"/>\r
+ <element ref="conf:LogoutInitiator"/>\r
<element ref="md:AssertionConsumerService"/>\r
<element ref="md:ArtifactResolutionService"/>\r
<element ref="md:SingleLogoutService"/>\r
<element ref="md:ManageNameIDService"/>\r
- <element name="Handler">
+ <element name="Handler">\r
<complexType>\r
<complexContent>\r
<restriction base="conf:PluggableType">\r
<any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
</sequence>\r
<attribute name="Location" type="anyURI" use="required"/>\r
+ <attribute name="acl" type="conf:listOfStrings"/>\r
+ <anyAttribute namespace="##any" processContents="lax"/>\r
</restriction>\r
</complexContent>\r
</complexType>\r
<attribute name="handlerSSL" type="boolean" default="true"/>\r
<attribute name="exportLocation" type="conf:string"/>\r
<attribute name="exportACL" type="conf:listOfStrings" default="127.0.0.1"/>\r
- <attribute name="redirectErrors" type="anyURI"/>\r
<attribute name="cookieName" type="conf:string"/>\r
<attribute name="cookieProps" type="conf:string"/>\r
- <attribute name="idpHistory" type="boolean" default="true"/>\r
+ <attribute name="idpHistory" type="boolean" default="false"/>\r
<attribute name="idpHistoryDays" type="unsignedInt"/>\r
<attribute name="lifetime" type="unsignedInt" default="28800"/>\r
<attribute name="timeout" type="unsignedInt" default="3600"/>\r
+ <attribute name="maxTimeSinceAuthn" type="unsignedInt"/>\r
<attribute name="checkAddress" type="boolean" default="true"/>\r
<attribute name="consistentAddress" type="boolean" default="true"/>\r
<anyAttribute namespace="##other" processContents="lax"/>\r
</complexType>\r
</element>\r
- \r
- <attribute name="policyId" type="conf:string">
- <annotation>
- <documentation>Used to reference Policy elements from profile endpoints.</documentation>
- </annotation>
+\r
+ <attribute name="policyId" type="conf:string">\r
+ <annotation>\r
+ <documentation>Used to reference Policy elements from profile endpoints.</documentation>\r
+ </annotation>\r
</attribute>\r
\r
<element name="SessionInitiator">\r
<attribute name="template" type="anyURI"/>\r
<attribute name="postArtifact" type="boolean"/>\r
<attribute name="acsByIndex" type="boolean"/>\r
+ <attribute name="defaultACSIndex" type="unsignedShort"/>\r
+ <attribute name="isPassive" type="boolean"/>\r
+ <attribute name="forceAuthn" type="boolean"/>\r
+ <attribute name="authnContextClassRef" type="anyURI"/>\r
+ <attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>\r
+ <anyAttribute namespace="##any" processContents="lax"/>\r
+ </restriction>\r
+ </complexContent>\r
+ </complexType>\r
+ </element>\r
+\r
+ <element name="LogoutInitiator">\r
+ <annotation>\r
+ <documentation>Used to specify handlers that can issue LogoutRequests</documentation>\r
+ </annotation>\r
+ <complexType>\r
+ <complexContent>\r
+ <restriction base="conf:PluggableType">\r
+ <sequence>\r
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
+ </sequence>\r
+ <attribute name="Location" type="anyURI"/>\r
+ <attribute name="relayState" type="conf:string"/>\r
+ <attribute name="outgoingBindings" type="conf:listOfURIs"/>\r
+ <attribute name="template" type="anyURI"/>\r
+ <attribute name="postArtifact" type="boolean"/>\r
<anyAttribute namespace="##any" processContents="lax"/>\r
</restriction>\r
</complexContent>\r
<sequence>\r
<any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
</sequence>\r
- <attribute name="session" type="anyURI" use="required"/>\r
+ <attribute name="redirectErrors" type="anyURI"/>\r
+ <attribute name="session" type="anyURI"/>\r
<attribute name="metadata" type="anyURI"/>\r
- <attribute name="rm" type="anyURI"/>\r
<attribute name="access" type="anyURI"/>\r
<attribute name="ssl" type="anyURI"/>\r
+ <attribute name="localLogout" type="anyURI"/>\r
+ <attribute name="globalLogout" type="anyURI"/>\r
<attribute name="supportContact" type="conf:string"/>\r
<attribute name="logoLocation" type="anyURI"/>\r
<attribute name="styleSheet" type="anyURI"/>\r
</complexType>\r
</element>\r
\r
- <element name="DefaultRelyingParty">\r
+ <element name="RelyingParty">\r
+ <annotation>\r
+ <documentation>Container for specifying settings to use with particular peers</documentation>\r
+ </annotation>\r
+ <complexType>\r
+ <sequence/>\r
+ <attribute name="Name" type="conf:string" use="required"/>\r
+ <attributeGroup ref="conf:RelyingPartyGroup"/>\r
+ <attribute name="entityID" type="anyURI"/>\r
+ <anyAttribute namespace="##other" processContents="lax"/>\r
+ </complexType>\r
+ </element>\r
+ \r
+ <element name="Notify">\r
<annotation>\r
- <documentation>Container for specifying security methods to use with particular peers</documentation>\r
+ <documentation>Used to specify locations to receive application notifications</documentation>\r
</annotation>\r
<complexType>\r
- <sequence>\r
- <element name="RelyingParty" minOccurs="0" maxOccurs="unbounded">\r
- <complexType>\r
- <sequence/>\r
- <attribute name="Name" type="conf:string" use="required"/>\r
- <attributeGroup ref="conf:RelyingPartyGroup"/>\r
- <anyAttribute namespace="##other" processContents="lax"/>\r
- </complexType>\r
- </element>\r
- </sequence>\r
- <attributeGroup ref="conf:RelyingPartyGroup"/>\r
- <anyAttribute namespace="##other" processContents="lax"/>\r
+ <sequence/>\r
+ <attribute name="Channel" use="required">\r
+ <simpleType>\r
+ <restriction base="string">\r
+ <enumeration value="front"/>\r
+ <enumeration value="back"/>\r
+ </restriction>\r
+ </simpleType>\r
+ </attribute>\r
+ <attribute name="Location" type="anyURI" use="required"/>\r
+ <anyAttribute namespace="##any" processContents="lax"/>\r
</complexType>\r
</element>\r
\r
- <attributeGroup name="RelyingPartyGroup">\r
- <attribute name="authType" type="conf:string"/>\r
- <attribute name="authUsername" type="conf:string"/>\r
- <attribute name="authPassword" type="conf:string"/>\r
- <attribute name="signRequests" type="boolean"/>
- <attribute name="signResponses" type="boolean"/>\r
- <attribute name="signatureAlg" type="anyURI"/>\r
- <attribute name="digestAlg" type="anyURI"/>\r
- <attribute name="encryptRequests" type="boolean"/>\r
- <attribute name="encryptResponses" type="boolean"/>\r
- <attribute name="encryptionAlg" type="anyURI"/>\r
- <attribute name="keyName" type="conf:string"/>\r
- <attribute name="artifactEndpointIndex" type="unsignedShort"/>\r
- </attributeGroup>\r
- \r
- <element name="SecurityPolicies">
+ <element name="SecurityPolicies">\r
<annotation>\r
<documentation>Container for specifying sets of policy rules to apply to incoming messages</documentation>\r
</annotation>\r
<documentation>Specifies a set of SecurityPolicyRule plugins</documentation>\r
</annotation>\r
<complexType>\r
- <sequence>
- <element name="Rule" type="conf:PluggableType" minOccurs="1" maxOccurs="unbounded"/>
- </sequence>
+ <sequence>\r
+ <element ref="conf:TransportOption" minOccurs="0" maxOccurs="unbounded"/>\r
+ <element name="Rule" type="conf:PluggableType" minOccurs="1" maxOccurs="unbounded"/>\r
+ </sequence>\r
<attribute name="id" type="conf:string" use="required"/>\r
<attribute name="validate" type="boolean" default="false"/>\r
- <attribute name="signedAssertions" type="boolean" default="false"/>\r
- <attribute name="requireConfidentiality" type="boolean" default="true"/>\r
- <attribute name="requireTransportAuth" type="boolean" default="true"/>\r
- <attribute name="chunkedEncoding" type="boolean" default="true"/>\r
- <attribute name="connectTimeout" type="unsignedShort" default="15"/>\r
- <attribute name="timeout" type="unsignedShort" default="30"/>\r
<anyAttribute namespace="##any" processContents="lax"/>\r
</complexType>\r
</element>\r
</sequence>\r
</complexType>\r
</element>\r
+\r
+ <element name="TransportOption">\r
+ <annotation>\r
+ <documentation>Implementation-specific option to pass to SOAPTransport provider.</documentation>\r
+ </annotation>\r
+ <complexType>\r
+ <simpleContent>\r
+ <extension base="anySimpleType">\r
+ <attribute name="provider" type="conf:string" use="required"/>\r
+ <attribute name="option" type="conf:string" use="required"/>\r
+ </extension>\r
+ </simpleContent>\r
+ </complexType>\r
+ </element>\r
\r
</schema>\r