[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src: main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/...

noreply at shibboleth.net noreply at shibboleth.net
Wed Jun 24 16:36:54 EDT 2015


Author: putmanb
Date: Wed Jun 24 16:36:54 2015
New Revision: 4312

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4312&view=rev
Log:
Update default Assertion ValidationContext builder to include SAML self entityID in valid recipients.
Unit tests for builder.

Added:
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/
    trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilderTest.java   (with props)
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/impl/
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/impl/issuer.crt
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/impl/issuer.key
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/impl/presenter.crt
    trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/wssecurity/messaging/impl/presenter.key
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java?rev=4312&r1=4311&r2=4312&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java	(original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java	Wed Jun 24 16:36:54 2015
@@ -267,8 +267,15 @@
      * Get the valid recipient endpoints for attestation.
      * 
      * <p>
-     * This implementation returns a set containing the single value 
-     * from {@link javax.servlet.http.HttpServletRequest#getRequestURL()}.
+     * This implementation returns a set containing the 2 values;
+     * <ol>
+     * <li>
+     * {@link javax.servlet.http.HttpServletRequest#getRequestURL()}
+     * </li>
+     * <li>
+     * if present, {@link SAMLSelfEntityContext#getEntityId()}
+     * </li>
+     * </ol>
      * </p>
      * 
      * @param input the assertion validation input
@@ -277,8 +284,15 @@
      */
     @Nonnull protected Set<String> getValidRecipients(@Nonnull final SAML20AssertionTokenValidationInput input) {
         LazySet<String> validRecipients = new LazySet<>();
+        
         String endpoint = input.getHttpServletRequest().getRequestURL().toString();
         validRecipients.add(endpoint);
+        
+        SAMLSelfEntityContext selfContext = input.getMessageContext().getSubcontext(SAMLSelfEntityContext.class);
+        if (selfContext != null && selfContext.getEntityId() != null) {
+            validRecipients.add(selfContext.getEntityId());
+        }
+        
         log.debug("Resolved valid subject confirmation recipients set: {}", validRecipients);
         return validRecipients;
     }



More information about the commits mailing list