[java-identity-provider COMMIT] /trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd

noreply at shibboleth.net noreply at shibboleth.net
Fri Nov 14 20:28:43 EST 2014


Author: putmanb
Date: Fri Nov 14 20:28:43 2014
New Revision: 6904

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6904&view=rev
Log:
Initial work on schema for dynamic metadata provider.

Modified:
    trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd

Modified: trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd?rev=6904&r1=6903&r2=6904&view=diff
==============================================================================
--- trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd (original)
+++ trunk/idp-schema/src/main/resources/schema/shibboleth-metadata.xsd Fri Nov 14 20:28:43 2014
@@ -211,7 +211,230 @@
             </extension>
         </complexContent>
     </complexType>
-
+    
+    <complexType name="DynamicHTTPMetadataProvider">
+        <annotation>
+            <documentation>
+                A metadata provider that dynamically fetches metadata from an HTTP server.
+                
+                Four strategies are supported for constructing the metadata request URL based on the requested entityID.
+                Only one strategy may be configured for any given instance of a metadata provider.
+                
+                Three correspond directly to the 3 child element types of the this type: Template, Regex and MetadataQueryProtocol.
+                See those individual elements for details.
+                
+                The fourth, used when none of the above 3 child elements is present, is to treat an HTTP or HTTPS entityID as the
+                metadata request URL.  This corresponds to the "well-known location" mechanism, as defined in the SAML 2.0
+                Metadata specification, section 4.1.
+            </documentation>
+        </annotation>
+        <complexContent>
+            <extension base="shibmd:DynamicMetadataProviderType">
+                <choice minOccurs="0" maxOccurs="1">
+                    <element name="Template">
+                        <annotation>
+                            <documentation>
+                                Constructs the metadata request URL by means of a simple transform on the template specified by this element.
+                                The entityID is substituted into the template parameter "${entityID}".
+                                If the element contains an encoded attribute set to "false", the value will be replaced directly, 
+                                otherwise it will be URL-encoded.
+                            </documentation>
+                        </annotation>
+                        <complexType>
+                            <simpleContent>
+                                <extension base="string">
+                                    <attribute name="encoded" type="string">
+                                        <annotation>
+                                            <documentation>
+                                                Boolean flag indicating whether the entityID should be encoded before substitution into the template.
+                                            </documentation>
+                                        </annotation>
+                                    </attribute>
+                                </extension>
+                            </simpleContent>
+                        </complexType>
+                    </element>
+                    <element name="Regex">
+                        <annotation>
+                            <documentation>
+                                Constructs the metadata request URL by means of a complex transform containing a match attribute containing a 
+                                regular expression against which the entityID value is applied, and whose element content contains a 
+                                replacement expression to run based on the results of the match. 
+                                Only numeric/positional group references (e.g. $1) are supported.
+                            </documentation>
+                        </annotation>
+                        <complexType>
+                            <simpleContent>
+                                <extension base="string">
+                                    <attribute name="match" type="string">
+                                        <annotation>
+                                            <documentation>
+                                                Regular expression against which the entityID is evaluated.
+                                            </documentation>
+                                        </annotation>
+                                    </attribute>
+                                </extension>
+                            </simpleContent>
+                        </complexType>
+                    </element>
+                    <element name="MetadataQueryProtocol" type="string">
+                        <annotation>

[... 160 lines stripped ...]


More information about the commits mailing list