[java-identity-provider] branch maint-3.3 updated: Fix config files checked in with DOS line endings.

Scott Cantor cantor.2 at osu.edu
Mon May 1 20:58:11 EDT 2017


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch maint-3.3
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=a31b1a16f2220444a43158f2a8431ffb2bfdc70c

The following commit(s) were added to refs/heads/maint-3.3 by this push:
       new  a31b1a1   Fix config files checked in with DOS line endings.
a31b1a1 is described below

commit a31b1a16f2220444a43158f2a8431ffb2bfdc70c
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon May 1 20:58:02 2017 -0400

    Fix config files checked in with DOS line endings.
---
 .../main/resources/conf/admin/general-admin.xml    | 106 +++++-----
 .../main/resources/conf/authn/mfa-authn-config.xml | 198 +++++++++----------
 .../resources/system/conf/general-admin-system.xml | 214 ++++++++++-----------
 .../resources/system/flows/admin/storage-beans.xml |  84 ++++----
 .../resources/system/flows/admin/storage-flow.xml  |  88 ++++-----
 .../test/resources/conf/relying-party-legacy.xml   | 162 ++++++++--------
 6 files changed, 426 insertions(+), 426 deletions(-)

diff --git a/idp-conf/src/main/resources/conf/admin/general-admin.xml b/idp-conf/src/main/resources/conf/admin/general-admin.xml
index 6e9fc19..9b3b180 100644
--- a/idp-conf/src/main/resources/conf/admin/general-admin.xml
+++ b/idp-conf/src/main/resources/conf/admin/general-admin.xml
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-    xmlns:context="http://www.springframework.org/schema/context"
-    xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
-    xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    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">
-
-    <util:list id="shibboleth.AvailableAdminFlows">
-    
-        <!-- Status Page -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/status"
-            p:loggingId="%{idp.service.logging.status:Status}"
-            p:policyName="%{idp.status.accessPolicy:AccessByIPAddress}" />
-
-        <!-- Service Reload -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/reload-service-configuration"
-            p:loggingId="%{idp.service.logging.serviceReload:Reload}"
-            p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
-
-        <!-- MetadataResolver Reload -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/reload-metadata"
-            p:loggingId="%{idp.service.logging.serviceReload:Reload}"
-            p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
-
-        <!-- AttributeResolver Debugging -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/resolvertest"
-            p:loggingId="%{idp.service.logging.resolvertest:ResolverTest}"
-            p:policyName="%{idp.resolvertest.accessPolicy:AccessByIPAddress}" />
-
-        <!-- REST StorageService Access -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/storage"
-            p:loggingId="Storage"
-            p:policyName="AccessByIPAddress" />
-    
-        <!-- REST Interface to Metrics -->
-        <bean parent="shibboleth.AdminFlow"
-            c:id="http://shibboleth.net/ns/profiles/metrics"
-            p:loggingId="Metrics"
-            p:policyNameLookupStrategy-ref="shibboleth.metrics.AccessPolicyStrategy" />
-    
-    </util:list>
-
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p"
+    xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    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">
+
+    <util:list id="shibboleth.AvailableAdminFlows">
+    
+        <!-- Status Page -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/status"
+            p:loggingId="%{idp.service.logging.status:Status}"
+            p:policyName="%{idp.status.accessPolicy:AccessByIPAddress}" />
+
+        <!-- Service Reload -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/reload-service-configuration"
+            p:loggingId="%{idp.service.logging.serviceReload:Reload}"
+            p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
+
+        <!-- MetadataResolver Reload -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/reload-metadata"
+            p:loggingId="%{idp.service.logging.serviceReload:Reload}"
+            p:policyName="%{idp.reload.accessPolicy:AccessByIPAddress}" />
+
+        <!-- AttributeResolver Debugging -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/resolvertest"
+            p:loggingId="%{idp.service.logging.resolvertest:ResolverTest}"
+            p:policyName="%{idp.resolvertest.accessPolicy:AccessByIPAddress}" />
+
+        <!-- REST StorageService Access -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/storage"
+            p:loggingId="Storage"
+            p:policyName="AccessByIPAddress" />
+    
+        <!-- REST Interface to Metrics -->
+        <bean parent="shibboleth.AdminFlow"
+            c:id="http://shibboleth.net/ns/profiles/metrics"
+            p:loggingId="Metrics"
+            p:policyNameLookupStrategy-ref="shibboleth.metrics.AccessPolicyStrategy" />
+    
+    </util:list>
+
+</beans>
diff --git a/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml b/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
index 6c6a306..88b59b1 100644
--- a/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
+++ b/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
@@ -1,99 +1,99 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       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">
-
-    <!--
-    This is a map of transition rules that guide the behavior of the MFA flow
-    and controls how factors are sequenced, skipped, etc. The key of each entry
-    is the name of the step/flow out of which control is passing. The starting
-    rule has an empty key.
-    
-    Each entry is a bean inherited from "shibboleth.authn.MFA.Transition". Per
-    the Javadoc for net.shibboleth.idp.authn.MultiFactorAuthenticationTransition:
-            
-        p:nextFlow (String)
-            - A flow to run if the previous step signaled a "proceed" event, for simple
-                transitions.
-                
-        p:nextFlowStrategy (Function<ProfileRequestContext,String>)
-            - A function to run if the previous step signaled a "proceed" event, for dynamic
-                transitions. Returning null ends the MFA process.
-            
-        p:nextFlowStrategyMap (Map<String,Object> where Object is String or Function<ProfileRequestContext,String>)
-            - Fully dynamic way of expressing control paths. Map is keyed by a previously
-                signaled event and the value is a flow to run or a function to
-                return the flow to run. Returning null ends the MFA process.
-                
-    When no rule is provided, there's an implicit "null" that ends the MFA flow
-    with whatever event was last signaled. If the "proceed" event from a step is
-    the final event, then the MFA process attempts to complete itself successfully.
-    -->
-    <util:map id="shibboleth.authn.MFA.TransitionMap">
-        <!-- First rule runs the IPAddress login flow. -->
-        <entry key="">
-            <bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/IPAddress" />
-        </entry>
-        
-        <!--
-        Second rule runs a function if IPAddress succeeds, to determine whether an additional
-        factor is required.
-        -->
-        <entry key="authn/IPAddress">
-            <bean parent="shibboleth.authn.MFA.Transition" p:nextFlowStrategy-ref="checkSecondFactor" />
-        </entry>
-        
-        <!-- An implicit final rule will return whatever the final flow returns. -->
-    </util:map>
-
-    <!-- Example script to see if second factor is required. -->
-    <bean id="checkSecondFactor" parent="shibboleth.ContextFunctions.Scripted" factory-method="inlineScript"
-        p:customObject-ref="shibboleth.AttributeResolverService">
-        <constructor-arg>
-            <value>
-            <![CDATA[
-                nextFlow = "authn/Password";
-
-                // Go straight to second factor if we have to, or set up for an attribute lookup first.
-                authCtx = input.getSubcontext("net.shibboleth.idp.authn.context.AuthenticationContext");
-                mfaCtx = authCtx.getSubcontext("net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext");
-                if (mfaCtx.isAcceptable()) {
-                    // Attribute check is required to decide if first factor alone is enough.
-                    resCtx = input.getSubcontext(
-                        "net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext", true);
-
-                    // Look up the username using a standard function.
-                    usernameLookupStrategyClass
-                        = Java.type("net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy");
-                    usernameLookupStrategy = new usernameLookupStrategyClass();
-                    resCtx.setPrincipal(usernameLookupStrategy.apply(input));
-                        
-                    resCtx.getRequestedIdPAttributeNames().add("allowedLoginMethods");
-                    resCtx.resolveAttributes(custom);
-                    
-                    // Check for an attribute that authorizes use of first factor.
-                    attribute = resCtx.getResolvedIdPAttributes().get("allowedLoginMethods");
-                    valueType =  Java.type("net.shibboleth.idp.attribute.StringAttributeValue");
-                    if (attribute != null && attribute.getValues().contains(new valueType("IPAddress"))) {
-                        nextFlow = null;
-                    }
-                    
-                    input.removeSubcontext(resCtx);   // cleanup
-                }
-                
-                nextFlow;   // pass control to second factor or end with the first
-            ]]>
-            </value>
-        </constructor-arg>
-    </bean>
-    
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:p="http://www.springframework.org/schema/p"
+       xmlns:c="http://www.springframework.org/schema/c"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       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">
+
+    <!--
+    This is a map of transition rules that guide the behavior of the MFA flow
+    and controls how factors are sequenced, skipped, etc. The key of each entry
+    is the name of the step/flow out of which control is passing. The starting
+    rule has an empty key.
+
+    Each entry is a bean inherited from "shibboleth.authn.MFA.Transition". Per
+    the Javadoc for net.shibboleth.idp.authn.MultiFactorAuthenticationTransition:
+
+        p:nextFlow (String)
+            - A flow to run if the previous step signaled a "proceed" event, for simple
+                transitions.
+
+        p:nextFlowStrategy (Function<ProfileRequestContext,String>)
+            - A function to run if the previous step signaled a "proceed" event, for dynamic
+                transitions. Returning null ends the MFA process.
+
+        p:nextFlowStrategyMap (Map<String,Object> where Object is String or Function<ProfileRequestContext,String>)
+            - Fully dynamic way of expressing control paths. Map is keyed by a previously
+                signaled event and the value is a flow to run or a function to
+                return the flow to run. Returning null ends the MFA process.
+
+    When no rule is provided, there's an implicit "null" that ends the MFA flow
+    with whatever event was last signaled. If the "proceed" event from a step is
+    the final event, then the MFA process attempts to complete itself successfully.
+    -->
+    <util:map id="shibboleth.authn.MFA.TransitionMap">
+        <!-- First rule runs the IPAddress login flow. -->
+        <entry key="">
+            <bean parent="shibboleth.authn.MFA.Transition" p:nextFlow="authn/IPAddress" />
+        </entry>
+
+        <!--
+        Second rule runs a function if IPAddress succeeds, to determine whether an additional
+        factor is required.
+        -->
+        <entry key="authn/IPAddress">
+            <bean parent="shibboleth.authn.MFA.Transition" p:nextFlowStrategy-ref="checkSecondFactor" />
+        </entry>
+
+        <!-- An implicit final rule will return whatever the final flow returns. -->
+    </util:map>
+
+    <!-- Example script to see if second factor is required. -->
+    <bean id="checkSecondFactor" parent="shibboleth.ContextFunctions.Scripted" factory-method="inlineScript"
+        p:customObject-ref="shibboleth.AttributeResolverService">
+        <constructor-arg>
+            <value>
+            <![CDATA[
+                nextFlow = "authn/Password";
+
+                // Go straight to second factor if we have to, or set up for an attribute lookup first.
+                authCtx = input.getSubcontext("net.shibboleth.idp.authn.context.AuthenticationContext");
+                mfaCtx = authCtx.getSubcontext("net.shibboleth.idp.authn.context.MultiFactorAuthenticationContext");
+                if (mfaCtx.isAcceptable()) {
+                    // Attribute check is required to decide if first factor alone is enough.
+                    resCtx = input.getSubcontext(
+                        "net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext", true);
+
+                    // Look up the username using a standard function.
+                    usernameLookupStrategyClass
+                        = Java.type("net.shibboleth.idp.session.context.navigate.CanonicalUsernameLookupStrategy");
+                    usernameLookupStrategy = new usernameLookupStrategyClass();
+                    resCtx.setPrincipal(usernameLookupStrategy.apply(input));
+
+                    resCtx.getRequestedIdPAttributeNames().add("allowedLoginMethods");
+                    resCtx.resolveAttributes(custom);
+
+                    // Check for an attribute that authorizes use of first factor.
+                    attribute = resCtx.getResolvedIdPAttributes().get("allowedLoginMethods");
+                    valueType =  Java.type("net.shibboleth.idp.attribute.StringAttributeValue");
+                    if (attribute != null && attribute.getValues().contains(new valueType("IPAddress"))) {
+                        nextFlow = null;
+                    }
+
+                    input.removeSubcontext(resCtx);   // cleanup
+                }
+
+                nextFlow;   // pass control to second factor or end with the first
+            ]]>
+            </value>
+        </constructor-arg>
+    </bean>
+
+</beans>
diff --git a/idp-conf/src/main/resources/system/conf/general-admin-system.xml b/idp-conf/src/main/resources/system/conf/general-admin-system.xml
index 628ca49..32d1066 100644
--- a/idp-conf/src/main/resources/system/conf/general-admin-system.xml
+++ b/idp-conf/src/main/resources/system/conf/general-admin-system.xml
@@ -1,107 +1,107 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       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">
-
-    <import resource="../../conf/admin/general-admin.xml" />
-    <import resource="../../conf/admin/metrics.xml" />
-
-    <!-- A parent bean to default some of the flow boilerplate. -->
-
-    <bean id="shibboleth.AdminFlow" abstract="true"
-            class="net.shibboleth.idp.admin.BasicAdministrativeFlowDescriptor"
-            p:servletRequest-ref="shibboleth.HttpServletRequest"
-            p:nonBrowserSupported="false" />
-
-    <!-- Function for returning custom access control policies for access to metrics. -->
-
-    <bean id="shibboleth.metrics.AccessPolicyStrategy" parent="shibboleth.ContextFunctions.Expression"
-        c:expression="#custom.get('policyMap').get(#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('metricId')) ?: #custom.get('defaultPolicy')"
-        c:outputType="#{T(java.lang.String)}">
-        <property name="customObject">
-            <map>
-                <entry key="policyMap" value-ref="shibboleth.metrics.AccessPolicyMap" />
-                <entry key="defaultPolicy" value-ref="shibboleth.metrics.DefaultAccessPolicy" />
-            </map>
-        </property>
-    </bean>
-    
-    <!-- MetricRegistry we can control with logging categories. -->
-    <bean id="shibboleth.metrics.MetricRegistry"
-        class="org.opensaml.core.metrics.FilteredMetricRegistry"
-        p:metricFilter-ref="shibboleth.metrics.LoggerDrivenMetricFilter" />
-        
-    <bean id="shibboleth.metrics.LoggerDrivenMetricFilter"
-        class="org.opensaml.core.metrics.LoggerDrivenMetricFilter"
-        c:_0="metrics."
-        c:_1="#{getObject('shibboleth.metrics.MetricLevelMap')}" />
-        
-    <!-- Parent beans for registering MetricSets and Metrics. -->
-    
-    <bean id="shibboleth.metrics.RegisterMetricSets" abstract="true"
-        class="org.springframework.beans.factory.config.MethodInvokingBean"
-        p:targetObject-ref="shibboleth.metrics.MetricRegistry"
-        p:targetMethod="registerMultiple" />
-
-    <bean id="shibboleth.metrics.RegisterMetric" abstract="true"
-        class="org.springframework.beans.factory.config.MethodInvokingBean"
-        p:targetObject-ref="shibboleth.metrics.MetricRegistry"
-        p:targetMethod="register" />
-        
-    <bean id="shibboleth.metrics.HTTPReporter" abstract="true" destroy-method="stop"
-        class="net.shibboleth.idp.metrics.impl.HTTPReporter"
-        c:registry-ref="shibboleth.metrics.MetricRegistry"
-        c:filter="#{null}"
-        p:httpClient-ref="shibboleth.NonCachingHttpClient" />
-    
-    <!-- Some predefined metric sets, only created if installed by user. -->
-    
-    <bean id="shibboleth.metrics.CoreGaugeSet" class="net.shibboleth.idp.metrics.impl.CoreGaugeSet" lazy-init="true" />
-    
-    <bean id="shibboleth.metrics.IdPGaugeSet" class="net.shibboleth.idp.metrics.impl.IdPGaugeSet" lazy-init="true" />
-    
-    <bean id="shibboleth.metrics.LoggingGaugeSet"
-        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
-        c:metricName="logging"
-        p:service-ref="shibboleth.LoggingService" />
-    
-    <bean id="shibboleth.metrics.AccessControlGaugeSet"
-        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
-        c:metricName="accesscontrol"
-        p:service-ref="shibboleth.ReloadableAccessControlService" />
-
-    <bean id="shibboleth.metrics.MetadataGaugeSet"
-        class="net.shibboleth.idp.saml.metadata.impl.MetadataResolverServiceGaugeSet" lazy-init="true"
-        c:metricName="metadata"
-        p:service-ref="shibboleth.MetadataResolverService" />
-
-    <bean id="shibboleth.metrics.RelyingPartyGaugeSet"
-        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
-        c:metricName="relyingparty"
-        p:service-ref="shibboleth.RelyingPartyResolverService" />
-
-    <bean id="shibboleth.metrics.NameIdentifierGaugeSet"
-        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
-        c:metricName="nameid"
-        p:service-ref="shibboleth.NameIdentifierGenerationService" />
-
-    <bean id="shibboleth.metrics.AttributeResolverGaugeSet"
-        class="net.shibboleth.idp.attribute.resolver.impl.AttributeResolverServiceGaugeSet" lazy-init="true"
-        c:metricName="attribute.resolver"
-        p:service-ref="shibboleth.AttributeResolverService" />
-
-    <bean id="shibboleth.metrics.AttributeFilterGaugeSet"
-        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
-        c:metricName="attribute.filter"
-        p:service-ref="shibboleth.AttributeFilterService" />
-        
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:context="http://www.springframework.org/schema/context"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:p="http://www.springframework.org/schema/p"
+       xmlns:c="http://www.springframework.org/schema/c"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       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">
+
+    <import resource="../../conf/admin/general-admin.xml" />
+    <import resource="../../conf/admin/metrics.xml" />
+
+    <!-- A parent bean to default some of the flow boilerplate. -->
+
+    <bean id="shibboleth.AdminFlow" abstract="true"
+            class="net.shibboleth.idp.admin.BasicAdministrativeFlowDescriptor"
+            p:servletRequest-ref="shibboleth.HttpServletRequest"
+            p:nonBrowserSupported="false" />
+
+    <!-- Function for returning custom access control policies for access to metrics. -->
+
+    <bean id="shibboleth.metrics.AccessPolicyStrategy" parent="shibboleth.ContextFunctions.Expression"
+        c:expression="#custom.get('policyMap').get(#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('metricId')) ?: #custom.get('defaultPolicy')"
+        c:outputType="#{T(java.lang.String)}">
+        <property name="customObject">
+            <map>
+                <entry key="policyMap" value-ref="shibboleth.metrics.AccessPolicyMap" />
+                <entry key="defaultPolicy" value-ref="shibboleth.metrics.DefaultAccessPolicy" />
+            </map>
+        </property>
+    </bean>
+    
+    <!-- MetricRegistry we can control with logging categories. -->
+    <bean id="shibboleth.metrics.MetricRegistry"
+        class="org.opensaml.core.metrics.FilteredMetricRegistry"
+        p:metricFilter-ref="shibboleth.metrics.LoggerDrivenMetricFilter" />
+        
+    <bean id="shibboleth.metrics.LoggerDrivenMetricFilter"
+        class="org.opensaml.core.metrics.LoggerDrivenMetricFilter"
+        c:_0="metrics."
+        c:_1="#{getObject('shibboleth.metrics.MetricLevelMap')}" />
+        
+    <!-- Parent beans for registering MetricSets and Metrics. -->
+    
+    <bean id="shibboleth.metrics.RegisterMetricSets" abstract="true"
+        class="org.springframework.beans.factory.config.MethodInvokingBean"
+        p:targetObject-ref="shibboleth.metrics.MetricRegistry"
+        p:targetMethod="registerMultiple" />
+
+    <bean id="shibboleth.metrics.RegisterMetric" abstract="true"
+        class="org.springframework.beans.factory.config.MethodInvokingBean"
+        p:targetObject-ref="shibboleth.metrics.MetricRegistry"
+        p:targetMethod="register" />
+        
+    <bean id="shibboleth.metrics.HTTPReporter" abstract="true" destroy-method="stop"
+        class="net.shibboleth.idp.metrics.impl.HTTPReporter"
+        c:registry-ref="shibboleth.metrics.MetricRegistry"
+        c:filter="#{null}"
+        p:httpClient-ref="shibboleth.NonCachingHttpClient" />
+    
+    <!-- Some predefined metric sets, only created if installed by user. -->
+    
+    <bean id="shibboleth.metrics.CoreGaugeSet" class="net.shibboleth.idp.metrics.impl.CoreGaugeSet" lazy-init="true" />
+    
+    <bean id="shibboleth.metrics.IdPGaugeSet" class="net.shibboleth.idp.metrics.impl.IdPGaugeSet" lazy-init="true" />
+    
+    <bean id="shibboleth.metrics.LoggingGaugeSet"
+        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+        c:metricName="logging"
+        p:service-ref="shibboleth.LoggingService" />
+    
+    <bean id="shibboleth.metrics.AccessControlGaugeSet"
+        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+        c:metricName="accesscontrol"
+        p:service-ref="shibboleth.ReloadableAccessControlService" />
+
+    <bean id="shibboleth.metrics.MetadataGaugeSet"
+        class="net.shibboleth.idp.saml.metadata.impl.MetadataResolverServiceGaugeSet" lazy-init="true"
+        c:metricName="metadata"
+        p:service-ref="shibboleth.MetadataResolverService" />
+
+    <bean id="shibboleth.metrics.RelyingPartyGaugeSet"
+        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+        c:metricName="relyingparty"
+        p:service-ref="shibboleth.RelyingPartyResolverService" />
+
+    <bean id="shibboleth.metrics.NameIdentifierGaugeSet"
+        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+        c:metricName="nameid"
+        p:service-ref="shibboleth.NameIdentifierGenerationService" />
+
+    <bean id="shibboleth.metrics.AttributeResolverGaugeSet"
+        class="net.shibboleth.idp.attribute.resolver.impl.AttributeResolverServiceGaugeSet" lazy-init="true"
+        c:metricName="attribute.resolver"
+        p:service-ref="shibboleth.AttributeResolverService" />
+
+    <bean id="shibboleth.metrics.AttributeFilterGaugeSet"
+        class="net.shibboleth.idp.metrics.ReloadableServiceGaugeSet" lazy-init="true"
+        c:metricName="attribute.filter"
+        p:service-ref="shibboleth.AttributeFilterService" />
+        
+</beans>
diff --git a/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml b/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
index e01f090..a3415fa 100644
--- a/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/storage-beans.xml
@@ -1,42 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans
-    xmlns="http://www.springframework.org/schema/beans"
-    xmlns:c="http://www.springframework.org/schema/c"
-    xmlns:context="http://www.springframework.org/schema/context"
-    xmlns:p="http://www.springframework.org/schema/p"
-    xmlns:util="http://www.springframework.org/schema/util"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    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 class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
-        p:placeholderPrefix="%{" p:placeholderSuffix="}" />
-
-    <!-- Profile ID for flow. -->    
-    <bean id="shibboleth.AdminProfileId" class="java.lang.String" c:_0="http://shibboleth.net/ns/profiles/storage" />
-    
-    <!-- Default operation/resource suppliers for access checks. -->
-
-    <bean id="shibboleth.AdminOperationLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
-        c:outputType="#{T(java.lang.String)}"
-        c:expression="#custom.getMethod()"
-        p:customObject-ref="shibboleth.HttpServletRequest" />
-        
-    <bean id="shibboleth.AdminResourceLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
-        c:outputType="#{T(java.lang.String)}"
-        c:expression="#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('context')" />
-    
-    <!--  Work beans. -->
-    
-    <bean id="DoStorageOperation" class="net.shibboleth.idp.admin.impl.DoStorageOperation" scope="prototype"
-        p:httpServletRequest-ref="shibboleth.HttpServletRequest"
-        p:httpServletResponse-ref="shibboleth.HttpServletResponse"
-        p:objectMapper-ref="shibboleth.JSONObjectMapper" />
-        
-    <bean id="RecordResponseComplete" class="net.shibboleth.idp.profile.impl.RecordResponseComplete" scope="prototype" />
-    
-    
-</beans>
+<?xml version="1.0" encoding="UTF-8"?>
+<beans
+    xmlns="http://www.springframework.org/schema/beans"
+    xmlns:c="http://www.springframework.org/schema/c"
+    xmlns:context="http://www.springframework.org/schema/context"
+    xmlns:p="http://www.springframework.org/schema/p"
+    xmlns:util="http://www.springframework.org/schema/util"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    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 class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"
+        p:placeholderPrefix="%{" p:placeholderSuffix="}" />
+
+    <!-- Profile ID for flow. -->    
+    <bean id="shibboleth.AdminProfileId" class="java.lang.String" c:_0="http://shibboleth.net/ns/profiles/storage" />
+    
+    <!-- Default operation/resource suppliers for access checks. -->
+
+    <bean id="shibboleth.AdminOperationLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
+        c:outputType="#{T(java.lang.String)}"
+        c:expression="#custom.getMethod()"
+        p:customObject-ref="shibboleth.HttpServletRequest" />
+        
+    <bean id="shibboleth.AdminResourceLookupStrategy" parent="shibboleth.ContextFunctions.Expression"
+        c:outputType="#{T(java.lang.String)}"
+        c:expression="#input.getSubcontext(T(net.shibboleth.idp.profile.context.SpringRequestContext)).getRequestContext().getFlowScope().get('context')" />
+    
+    <!--  Work beans. -->
+    
+    <bean id="DoStorageOperation" class="net.shibboleth.idp.admin.impl.DoStorageOperation" scope="prototype"
+        p:httpServletRequest-ref="shibboleth.HttpServletRequest"
+        p:httpServletResponse-ref="shibboleth.HttpServletResponse"
+        p:objectMapper-ref="shibboleth.JSONObjectMapper" />
+        
+    <bean id="RecordResponseComplete" class="net.shibboleth.idp.profile.impl.RecordResponseComplete" scope="prototype" />
+    
+    
+</beans>
diff --git a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
index c5451f8..9a179aa 100644
--- a/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
+++ b/idp-conf/src/main/resources/system/flows/admin/storage-flow.xml
@@ -1,44 +1,44 @@
-<flow xmlns="http://www.springframework.org/schema/webflow"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
-    parent="admin.abstract">
-
-    <on-start>
-        <!-- Extract PATH_INFO containing account key and operation. -->
-        <evaluate expression="flowRequestContext.getActiveFlow().getId()" result="flowScope.flowId" />
-        <evaluate expression="externalContext.getNativeRequest().getPathInfo().length() gt flowId.length() + 2 ? externalContext.getNativeRequest().getPathInfo().substring(flowId.length() + 2) : 'all'" result="flowScope.pathInfo" />
-        <evaluate expression="pathInfo.split('/')" result="flowScope.pathInfoArray" />
-        <evaluate expression="pathInfoArray.length gt 0 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[0]) : null" result="flowScope.storageServiceId" />
-        <evaluate expression="pathInfoArray.length gt 1 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[1]) : null" result="flowScope.context" />
-        <evaluate expression="pathInfoArray.length gt 2 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[2]) : null" result="flowScope.key" />
-    </on-start>
-
-    <!-- Start action. -->
-        
-    <action-state id="InitializeProfileRequestContext">
-        <evaluate expression="InitializeProfileRequestContext" />
-        <evaluate expression="'proceed'" />
-        
-        <!-- Branch to determine if authentication is required. -->
-        <transition on="proceed" to="DoAdminPreamble" />
-    </action-state>
-
-    <!-- Resume actual flow processing. -->
-
-    <action-state id="DoProfileWork">
-        <evaluate expression="CheckAccess" />
-        <evaluate expression="WriteAuditLog" />
-        <evaluate expression="DoStorageOperation" />
-        <evaluate expression="RecordResponseComplete" />
-        <evaluate expression="'proceed'" />
-        
-        <transition on="proceed" to="end" />
-    </action-state>
-    
-    <!-- Terminus -->
-
-    <end-state id="end" />
-    
-    <bean-import resource="storage-beans.xml" />
-
-</flow>
+<flow xmlns="http://www.springframework.org/schema/webflow"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd"
+    parent="admin.abstract">
+
+    <on-start>
+        <!-- Extract PATH_INFO containing account key and operation. -->
+        <evaluate expression="flowRequestContext.getActiveFlow().getId()" result="flowScope.flowId" />
+        <evaluate expression="externalContext.getNativeRequest().getPathInfo().length() gt flowId.length() + 2 ? externalContext.getNativeRequest().getPathInfo().substring(flowId.length() + 2) : 'all'" result="flowScope.pathInfo" />
+        <evaluate expression="pathInfo.split('/')" result="flowScope.pathInfoArray" />
+        <evaluate expression="pathInfoArray.length gt 0 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[0]) : null" result="flowScope.storageServiceId" />
+        <evaluate expression="pathInfoArray.length gt 1 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[1]) : null" result="flowScope.context" />
+        <evaluate expression="pathInfoArray.length gt 2 ? T(net.shibboleth.utilities.java.support.net.URISupport).doURLDecode(pathInfoArray[2]) : null" result="flowScope.key" />
+    </on-start>
+
+    <!-- Start action. -->
+        
+    <action-state id="InitializeProfileRequestContext">
+        <evaluate expression="InitializeProfileRequestContext" />
+        <evaluate expression="'proceed'" />
+        
+        <!-- Branch to determine if authentication is required. -->
+        <transition on="proceed" to="DoAdminPreamble" />
+    </action-state>
+
+    <!-- Resume actual flow processing. -->
+
+    <action-state id="DoProfileWork">
+        <evaluate expression="CheckAccess" />
+        <evaluate expression="WriteAuditLog" />
+        <evaluate expression="DoStorageOperation" />
+        <evaluate expression="RecordResponseComplete" />
+        <evaluate expression="'proceed'" />
+        
+        <transition on="proceed" to="end" />
+    </action-state>
+    
+    <!-- Terminus -->
+
+    <end-state id="end" />
+    
+    <bean-import resource="storage-beans.xml" />
+
+</flow>
diff --git a/idp-conf/src/test/resources/conf/relying-party-legacy.xml b/idp-conf/src/test/resources/conf/relying-party-legacy.xml
index f497042..9cd5f01 100644
--- a/idp-conf/src/test/resources/conf/relying-party-legacy.xml
+++ b/idp-conf/src/test/resources/conf/relying-party-legacy.xml
@@ -1,81 +1,81 @@
-<?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: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.entityID}" defaultSigningCredentialRef="IdPCredential"/>
-    
-    <rp:DefaultRelyingParty provider="%{idp.entityID}" 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="always" signAssertions="never"
-                                 includeConditionsNotBefore="true"/>
-                              
-        <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="always" signAssertions="never" 
-                                 encryptAssertions="conditional" encryptNameIds="never"
-                                 includeConditionsNotBefore="true"/>
-
-        <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile" includeAttributeStatement="true" 
-                                 assertionLifetime="PT5M" assertionProxyCount="0" 
-                                 signResponses="always" signAssertions="never" 
-                                 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="conditional" signAssertions="never" 
-                                 encryptAssertions="conditional" encryptNameIds="never"/>
-
-        <rp:ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile"
-                                 signResponses="conditional"/>
-        
-    </rp:DefaultRelyingParty>
-        
-    <!-- ========================================== -->
-    <!--     Security Configurations                -->
-    <!-- ========================================== -->
-    
-    <!--  TODO -->
-    
-    <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem">
-        <security:PrivateKey>%{idp.signing.key}</security:PrivateKey>
-        <security:Certificate>%{idp.signing.cert}</security:Certificate>
-    </security:Credential>
-    
-</rp:RelyingPartyGroup>
+<?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: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.entityID}" defaultSigningCredentialRef="IdPCredential"/>
+    
+    <rp:DefaultRelyingParty provider="%{idp.entityID}" 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="always" signAssertions="never"
+                                 includeConditionsNotBefore="true"/>
+                              
+        <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="always" signAssertions="never" 
+                                 encryptAssertions="conditional" encryptNameIds="never"
+                                 includeConditionsNotBefore="true"/>
+
+        <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile" includeAttributeStatement="true" 
+                                 assertionLifetime="PT5M" assertionProxyCount="0" 
+                                 signResponses="always" signAssertions="never" 
+                                 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="conditional" signAssertions="never" 
+                                 encryptAssertions="conditional" encryptNameIds="never"/>
+
+        <rp:ProfileConfiguration xsi:type="saml:SAML2LogoutRequestProfile"
+                                 signResponses="conditional"/>
+        
+    </rp:DefaultRelyingParty>
+        
+    <!-- ========================================== -->
+    <!--     Security Configurations                -->
+    <!-- ========================================== -->
+    
+    <!--  TODO -->
+    
+    <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem">
+        <security:PrivateKey>%{idp.signing.key}</security:PrivateKey>
+        <security:Certificate>%{idp.signing.cert}</security:Certificate>
+    </security:Credential>
+    
+</rp:RelyingPartyGroup>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list