io.dropwizard.java8.auth.Authenticator Maven / Gradle / Ivy
package io.dropwizard.java8.auth;
import io.dropwizard.auth.AuthenticationException;
import java.util.Optional;
/**
* An interface for classes which authenticate user-provided credentials and return principal
* objects.
*
* @param the type of credentials the authenticator can authenticate
* @param the type of principals the authenticator returns
*/
public interface Authenticator {
/**
* Given a set of user-provided credentials, return an optional principal.
*
* If the credentials are valid and map to a principal, returns an {@code Optional.of(p)}.
*
* If the credentials are invalid, returns an {@code Optional.empty()}.
*
* @param credentials a set of user-provided credentials
* @return either an authenticated principal or an absent optional
* @throws AuthenticationException if the credentials cannot be authenticated due to an
* underlying error
*/
Optional
authenticate(C credentials) throws AuthenticationException;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy