/** * Helper method that evaluates a {@link PrincipalSupportingComponent} against * this context to determine if the input is compatible with it. * * @param component component to evaluate * * @return true iff the input is compatible with the requested authentication requirements * * @since 3.3.0 */ public boolean isAcceptable(@Nonnull final PrincipalSupportingComponent component) { for (final Principal requestedPrincipal : requestedPrincipals) { final PrincipalEvalPredicate predicate = getPredicate(requestedPrincipal); if (predicate != null) { if (predicate.apply(component)) { return true; } } } // Nothing matched the candidate. return false; }
log.debug("{} Checking for an inactive flow compatible with operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName()); final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { for (final AuthenticationFlowDescriptor descriptor : potentialFlows.values()) {
log.debug("{} Checking for an active result compatible with operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName()); final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { for (final AuthenticationResult result : activeResults.values()) { + "operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName()); final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { for (final AuthenticationFlowDescriptor descriptor : potentialFlows.values()) {
if (requestedPrincipalCtx != null) { for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { if (predicate.apply(activeResult)) { } else if (requestedPrincipalCtx != null) { for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { if (predicate.apply(flow) && flow.apply(profileRequestContext)) {