[java-identity-provider COMMIT] in /trunk: idp-conf/src/main/resources/conf/authn/authn-comparison.xml idp-conf/src/m...

noreply at shibboleth.net noreply at shibboleth.net
Tue Jul 28 15:50:43 EDT 2015


Author: scantor
Date: Tue Jul 28 15:50:42 2015
New Revision: 7652

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=7652&view=rev
Log:
IDP-780 - Handle "unspecified" RequestedAuthnContext value

Modified:
    trunk/idp-conf/src/main/resources/conf/authn/authn-comparison.xml
    trunk/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-beans.xml
    trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java
    trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContext.java
    trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessRequestedAuthnContextTest.java

Modified: trunk/idp-conf/src/main/resources/conf/authn/authn-comparison.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/authn/authn-comparison.xml?rev=7652&r1=7651&r2=7652&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/conf/authn/authn-comparison.xml	(original)
+++ trunk/idp-conf/src/main/resources/conf/authn/authn-comparison.xml	Tue Jul 28 15:50:42 2015
@@ -68,4 +68,10 @@
         
     </util:map>
     
+    <!-- List of context classes or declarations to ignore if an SP requests them. -->
+
+    <util:list id="shibboleth.IgnoredContexts">
+        <value>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</value>
+    </util:list>
+    
 </beans>

Modified: trunk/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-beans.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-beans.xml?rev=7652&r1=7651&r2=7652&view=diff
==============================================================================
--- trunk/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-beans.xml	(original)
+++ trunk/idp-conf/src/main/resources/system/flows/saml/saml2/sso-abstract-beans.xml	Tue Jul 28 15:50:42 2015
@@ -48,8 +48,14 @@
         </property>
     </bean>
     
+    <!-- Default list of context classes or declarations to ignore if an SP requests them. -->
+    <util:list id="shibboleth.DefaultIgnoredContexts">
+        <value>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</value>
+    </util:list>
+    
     <bean id="ProcessRequestedAuthnContext"
-        class="net.shibboleth.idp.saml.saml2.profile.impl.ProcessRequestedAuthnContext" scope="prototype" />
+        class="net.shibboleth.idp.saml.saml2.profile.impl.ProcessRequestedAuthnContext" scope="prototype"
+        p:ignoredContexts-ref="#{getObject('shibboleth.IgnoredContexts') != null ? 'shibboleth.IgnoredContexts' : 'shibboleth.DefaultIgnoredContexts'}" />
         
     <bean id="ResolveAttributesPredicate"
         class="net.shibboleth.idp.saml.profile.config.logic.ResolveAttributesProfileConfigPredicate" />

Modified: trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java?rev=7652&r1=7651&r2=7652&view=diff
==============================================================================
--- trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java	(original)
+++ trunk/idp-conf/src/test/java/net/shibboleth/idp/test/flows/saml2/AbstractSAML2SSOFlowTest.java	Tue Jul 28 15:50:42 2015
@@ -32,10 +32,13 @@
 import org.opensaml.saml.common.messaging.context.SAMLEndpointContext;
 import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
 import org.opensaml.saml.common.xml.SAMLConstants;
+import org.opensaml.saml.saml2.core.AuthnContext;
+import org.opensaml.saml.saml2.core.AuthnContextClassRef;
 import org.opensaml.saml.saml2.core.AuthnRequest;
 import org.opensaml.saml.saml2.core.Issuer;
 import org.opensaml.saml.saml2.core.NameID;
 import org.opensaml.saml.saml2.core.NameIDPolicy;
+import org.opensaml.saml.saml2.core.RequestedAuthnContext;
 import org.opensaml.saml.saml2.core.Subject;
 import org.opensaml.saml.saml2.encryption.Encrypter;
 import org.opensaml.saml.saml2.encryption.Encrypter.KeyPlacement;
@@ -133,6 +136,16 @@
         subject.setEncryptedID(getEncrypter().encrypt(nameID));
         authnRequest.setSubject(subject);
 
+        final RequestedAuthnContext reqAC =
+                (RequestedAuthnContext) builderFactory.getBuilder(RequestedAuthnContext.DEFAULT_ELEMENT_NAME).buildObject(
+                        RequestedAuthnContext.DEFAULT_ELEMENT_NAME);
+        final AuthnContextClassRef ac =
+                (AuthnContextClassRef) builderFactory.getBuilder(AuthnContextClassRef.DEFAULT_ELEMENT_NAME).buildObject(
+                        AuthnContextClassRef.DEFAULT_ELEMENT_NAME);
+        ac.setAuthnContextClassRef(AuthnContext.UNSPECIFIED_AUTHN_CTX);
+        reqAC.getAuthnContextClassRefs().add(ac);
+        authnRequest.setRequestedAuthnContext(reqAC);
+        
         return authnRequest;
     }

[... 158 lines stripped ...]


More information about the commits mailing list