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

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected 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.context.CallContext ctx, org.pac4j.core.credentials.Credentials cred)
     

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RestAuthenticator

      public RestAuthenticator()
    • RestAuthenticator

      public RestAuthenticator(String url)
  • Method Details

    • internalInit

      protected void internalInit(boolean forceReinit)
      Specified by:
      internalInit in class org.pac4j.core.util.InitializableObject
    • validate

      public Optional<org.pac4j.core.credentials.Credentials> validate(org.pac4j.core.context.CallContext ctx, org.pac4j.core.credentials.Credentials cred)
      Specified by:
      validate in interface org.pac4j.core.credentials.authenticator.Authenticator
    • buildProfile

      protected void buildProfile(org.pac4j.core.credentials.UsernamePasswordCredentials credentials, String body)
    • callRestApi

      protected String callRestApi(String username, String password)
      Return the body from the REST API, passing the username/pasword auth. To be overridden using another HTTP client if necessary.
      Parameters:
      username - the username
      password - the password
      Returns:
      the response body