[java-identity-provider COMMIT] in /trunk/idp-conf/src/main/resources: conf/authn/remoteuser-authn-config.xml system/...

noreply at shibboleth.net noreply at shibboleth.net
Thu Aug 18 16:03:46 EDT 2016


Author: scantor
Date: Thu Aug 18 16:03:45 2016
New Revision: 8329

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8329&view=rev
Log:
IDP-981 - Allow RemoteUser Auth method on multiple URLs selected by AuthContextClass

https://issues.shibboleth.net/jira/browse/IDP-981

Modified:
    trunk/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml
    trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-beans.xml
    trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-flow.xml

Modified: trunk/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml?rev=8329&r1=8328&r2=8329&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml	(original)
+++ trunk/idp-conf/src/main/resources/conf/authn/remoteuser-authn-config.xml	Thu Aug 18 16:03:45 2016
@@ -15,6 +15,12 @@
     <!-- Servlet context-relative path to wherever your implementation lives. -->
     <bean id="shibboleth.authn.RemoteUser.externalAuthnPath" class="java.lang.String"
         c:_0="contextRelative:Authn/RemoteUser" />
+    
+    <!--
+    Default is to always use the path in the bean above. If you want to determine it
+    dynamically, define a bean called "shibboleth.authn.RemoteUser.externalAuthnPathStrategy"
+    of type Function<ProfileRequestContext,String> that returns the path to use.
+    -->
 
     <!--
     Add authentication flow descriptor's supportedPrincipals collection to the resulting Subject?

Modified: trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-beans.xml?rev=8329&r1=8328&r2=8329&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-beans.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-beans.xml	Thu Aug 18 16:03:45 2016
@@ -18,6 +18,11 @@
     <bean class="net.shibboleth.idp.profile.impl.ProfileActionBeanPostProcessor" />
     <bean class="net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor" />
 
+    <!-- Default strategy function to obtain the external path. -->
+    <bean id="shibboleth.authn.RemoteUser.externalAuthnPathStrategy"
+        class="com.google.common.base.Functions" factory-method="constant"
+        c:_0-ref="shibboleth.authn.RemoteUser.externalAuthnPath" />
+    
     <import resource="../../../conf/authn/remoteuser-authn-config.xml" />
 
     <bean id="ValidateExternalAuthentication"

Modified: trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-flow.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-flow.xml?rev=8329&r1=8328&r2=8329&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-flow.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/authn/remoteuser-authn-flow.xml	Thu Aug 18 16:03:45 2016
@@ -5,7 +5,7 @@
 
     <!-- This is a login flow for container-based pseudo-authentication implemented via external authentication. -->
     
-    <view-state id="ExternalTransfer" view="externalRedirect:#{T(net.shibboleth.idp.authn.ExternalAuthentication).getExternalRedirect(flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.authn.RemoteUser.externalAuthnPath'), flowExecutionContext.getKey().toString())}">
+    <view-state id="ExternalTransfer" view="externalRedirect:#{T(net.shibboleth.idp.authn.ExternalAuthentication).getExternalRedirect(flowRequestContext.getActiveFlow().getApplicationContext().getBean('shibboleth.authn.RemoteUser.externalAuthnPathStrategy').apply(opensamlProfileRequestContext), flowExecutionContext.getKey().toString())}">
         <on-render>
             <evaluate expression="opensamlProfileRequestContext.getSubcontext(T(net.shibboleth.idp.authn.context.AuthenticationContext)).addSubcontext(new net.shibboleth.idp.authn.context.ExternalAuthenticationContext(), true).setFlowExecutionUrl(flowExecutionUrl + '&_eventId_proceed=1')" />
             <evaluate expression="externalContext.getNativeRequest().getSession().setAttribute('conversation' + flowExecutionContext.getKey().toString(), new net.shibboleth.idp.authn.impl.ExternalAuthenticationImpl(opensamlProfileRequestContext, calledAsExtendedFlow?:false))" />



More information about the commits mailing list