[java-identity-provider COMMIT] in /trunk: idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/reso...
noreply at shibboleth.net
noreply at shibboleth.net
Thu Jul 7 13:02:25 EDT 2016
Author: scantor
Date: Thu Jul 7 13:02:24 2016
New Revision: 8285
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=8285&view=rev
Log:
IDP-962 - Login flow or framework for combining authentication factors (e.g. Duo)
https://issues.shibboleth.net/jira/browse/IDP-962
Replace attribute lookup flow with a simpler approach.
Modified:
trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java
trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
trunk/idp-conf/src/main/resources/system/conf/webflow-config.xml
trunk/idp-conf/src/main/resources/system/flows/util/
Modified: trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java?rev=8285&r1=8284&r2=8285&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java (original)
+++ trunk/idp-attribute-resolver-api/src/main/java/net/shibboleth/idp/attribute/resolver/context/AttributeResolutionContext.java Thu Jul 7 13:02:24 2016
@@ -28,14 +28,20 @@
import javax.annotation.concurrent.NotThreadSafe;
import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.AttributeResolver;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
import net.shibboleth.utilities.java.support.annotation.constraint.Live;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.annotation.constraint.NotLive;
import net.shibboleth.utilities.java.support.annotation.constraint.NullableElements;
import net.shibboleth.utilities.java.support.annotation.constraint.Unmodifiable;
import net.shibboleth.utilities.java.support.logic.Constraint;
+import net.shibboleth.utilities.java.support.service.ReloadableService;
+import net.shibboleth.utilities.java.support.service.ServiceableComponent;
import org.opensaml.messaging.context.BaseContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.google.common.base.Predicates;
import com.google.common.collect.Collections2;
@@ -214,5 +220,30 @@
}
}
}
-
+
+ /**
+ * Helper method to invoke an AttributeResolver service using this context.
+ *
+ * @param attributeResolverService the service to invoke
+ */
+ public void resolveAttributes(@Nonnull final ReloadableService<AttributeResolver> attributeResolverService) {
+
+ final Logger log = LoggerFactory.getLogger(AttributeResolutionContext.class);
+ ServiceableComponent<AttributeResolver> component = null;
+ try {
+ component = attributeResolverService.getServiceableComponent();
+ if (null == component) {
+ log.error("Error resolving attributes: Invalid Attribute resolver configuration");
+ } else {
+ final AttributeResolver attributeResolver = component.getComponent();
+ attributeResolver.resolveAttributes(this);
+ }
+ } catch (final ResolutionException e) {
+ log.error("Error resolving attributes", e);
+ } finally {
+ if (null != component) {
+ component.unpinComponent();
+ }
+ }
+ }
}
Modified: trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java?rev=8285&r1=8284&r2=8285&view=diff
==============================================================================
--- trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java (original)
+++ trunk/idp-authn-api/src/main/java/net/shibboleth/idp/authn/context/MultiFactorAuthenticationContext.java Thu Jul 7 13:02:24 2016
@@ -181,7 +181,7 @@
*
* @return true iff at least one of the active results satisfies the request
*/
- public boolean satisfiesRequester() {
+ public boolean isAcceptable() {
final AuthenticationContext authnContext = (AuthenticationContext) getParent();
if (authnContext != null) {
for (final AuthenticationResult result : activeResults.values()) {
Modified: trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-conf/src/main/resources/conf/authn/mfa-authn-config.xml?rev=8285&r1=8284&r2=8285&view=diff
[... 120 lines stripped ...]
More information about the commits
mailing list