Class RestAuthenticator
java.lang.Object
org.pac4j.core.util.InitializableObject
org.pac4j.core.profile.definition.ProfileDefinitionAware
org.pac4j.http.credentials.authenticator.RestAuthenticator
- All Implemented Interfaces:
org.pac4j.core.credentials.authenticator.Authenticator
public class RestAuthenticator
extends org.pac4j.core.profile.definition.ProfileDefinitionAware
implements org.pac4j.core.credentials.authenticator.Authenticator
Authenticates against a REST API. The username/password are passed as a basic auth via a POST request,
the JSON response is a user profile.
- Since:
- 2.1.0
- Author:
- Jerome Leleu
-
Field Summary
Fields inherited from interface org.pac4j.core.credentials.authenticator.Authenticator
ALWAYS_VALIDATE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
buildProfile
(org.pac4j.core.credentials.UsernamePasswordCredentials credentials, String body) protected String
callRestApi
(String username, String password) Return the body from the REST API, passing the username/pasword auth.protected void
internalInit
(boolean forceReinit) Optional<org.pac4j.core.credentials.Credentials>
validate
(org.pac4j.core.credentials.Credentials cred, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore) Methods inherited from class org.pac4j.core.profile.definition.ProfileDefinitionAware
getProfileDefinition, setProfileDefinition, setProfileDefinitionIfUndefined
Methods inherited from class org.pac4j.core.util.InitializableObject
afterInternalInit, beforeInternalInit, getInitialized, getLastAttempt, getMaxAttempts, getMinTimeIntervalBetweenAttemptsInMilliseconds, getNbAttempts, init, init, isInitialized, reinit, setMaxAttempts, setMinTimeIntervalBetweenAttemptsInMilliseconds, shouldInitialize, toString
-
Constructor Details
-
RestAuthenticator
public RestAuthenticator() -
RestAuthenticator
-
-
Method Details
-
internalInit
protected void internalInit(boolean forceReinit) - Specified by:
internalInit
in classorg.pac4j.core.util.InitializableObject
-
validate
public Optional<org.pac4j.core.credentials.Credentials> validate(org.pac4j.core.credentials.Credentials cred, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore) - Specified by:
validate
in interfaceorg.pac4j.core.credentials.authenticator.Authenticator
-
buildProfile
protected void buildProfile(org.pac4j.core.credentials.UsernamePasswordCredentials credentials, String body) -
callRestApi
Return the body from the REST API, passing the username/pasword auth. To be overridden using another HTTP client if necessary.- Parameters:
username
- the usernamepassword
- the password- Returns:
- the response body
-