@Override
public boolean shouldMultifactorAuthenticationProviderExecute(final Authentication authentication,
final RegisteredService registeredService,
final MultifactorAuthenticationProvider provider,
final HttpServletRequest request) {
try {
val principal = authentication.getPrincipal();
LOGGER.debug("Evaluating multifactor authentication bypass properties for principal [{}], "
+ "service [{}] and provider [{}] via Groovy script [{}]",
principal.getId(), registeredService, provider, watchableScript.getResource());
val args = new Object[]{authentication, principal, registeredService, provider, LOGGER, request};
return watchableScript.execute(args, Boolean.class);
} catch (final Exception e) {
LOGGER.error(e.getMessage(), e);
return true;
}
}
}