package org.apereo.cas.authentication; /** * This is {@link PrePostAuthenticationHandler}. * * @author Misagh Moayyed * @since 5.1.0 */ public interface PrePostAuthenticationHandler extends AuthenticationHandler { /** * Template method to perform arbitrary pre-authentication actions. * * @param credential the Credential supplied * @return true if authentication should continue, false otherwise. */ default boolean preAuthenticate(Credential credential) { return true; } /** * Template method to perform arbitrary post-authentication actions. * * @param credential the supplied credential * @param result the result of the authentication attempt. * @return An authentication handler result that MAY be different or modified from that provided. */ default HandlerResult postAuthenticate(Credential credential, HandlerResult result) { return result; } }