[java-opensaml COMMIT] in /trunk: opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Aug 19 19:32:07 EDT 2015
Author: putmanb
Date: Wed Aug 19 19:32:07 2015
New Revision: 4325
URL: http://svn.shibboleth.net/view/java-opensaml?rev=4325&view=rev
Log:
Update some SAML messaging support classes to take a configured entity context Class, rather than hardcoding to SAMLPeerEntityContext.
This is to support reuse for example delegation cases with SAMLPresenterEntityContext.
Modified:
trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLProtocolAndRoleHandler.java
trunk/opensaml-saml-impl/src/test/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandlerTest.java
trunk/opensaml-saml-impl/src/test/resources/data/org/opensaml/saml/saml2/metadata/InCommon-metadata.xml
Modified: trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java?rev=4325&r1=4324&r2=4325&view=diff
==============================================================================
--- trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java (original)
+++ trunk/opensaml-saml-api/src/main/java/org/opensaml/saml/common/messaging/context/navigate/SAMLMessageContextAuthenticationFunction.java Wed Aug 19 19:32:07 2015
@@ -17,26 +17,46 @@
package org.opensaml.saml.common.messaging.context.navigate;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.shibboleth.utilities.java.support.logic.Constraint;
+
import org.opensaml.messaging.context.MessageContext;
+import org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
import com.google.common.base.Function;
/**
- * Function that returns the authenticated state of a {@link SAMLPeerEntityContext}.
+ * Function that returns the authenticated state of a configured {@link AbstractAuthenticatableSAMLEntityContext},
+ * defaulting to {@link SAMLPeerEntityContext}.
*/
public class SAMLMessageContextAuthenticationFunction implements Function<MessageContext,Boolean> {
+
+ /** The context class representing the authenticatable SAML entity. Defaults to: {@link SAMLPeerEntityContext}. */
+ @Nonnull private Class<? extends AbstractAuthenticatableSAMLEntityContext> entityContextClass =
+ SAMLPeerEntityContext.class;
+
+ /**
+ * Set the class type holding the authenticatable SAML entity data.
+ *
+ * <p>Defaults to: {@link SAMLPeerEntityContext}.</p>
+ *
+ * @param clazz the entity context class type
+ */
+ public void setEntityContextClass(@Nonnull final Class<? extends AbstractAuthenticatableSAMLEntityContext> clazz) {
+ entityContextClass = Constraint.isNotNull(clazz, "The SAML entity context class may not be null");
+ }
/** {@inheritDoc} */
@Override
@Nullable public Boolean apply(@Nullable final MessageContext input) {
if (input != null) {
- final SAMLPeerEntityContext peerCtx = input.getSubcontext(SAMLPeerEntityContext.class);
- if (peerCtx != null) {
- return peerCtx.isAuthenticated();
+ final AbstractAuthenticatableSAMLEntityContext entityCtx = input.getSubcontext(entityContextClass);
+ if (entityCtx != null) {
+ return entityCtx.isAuthenticated();
}
}
Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java?rev=4325&r1=4324&r2=4325&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/SAMLMetadataLookupHandler.java Wed Aug 19 19:32:07 2015
@@ -30,6 +30,7 @@
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.handler.AbstractMessageHandler;
import org.opensaml.messaging.handler.MessageHandlerException;
+import org.opensaml.saml.common.messaging.context.AbstractSAMLEntityContext;
import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
import org.opensaml.saml.common.messaging.context.SAMLProtocolContext;
@@ -43,11 +44,12 @@
/**
[... 309 lines stripped ...]
More information about the commits
mailing list