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
  • 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.
    com.fasterxml.jackson.databind.ObjectMapper
     
     
    protected void
    internalInit(boolean forceReinit)
     
    void
    setMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
     
    void
     
     
    void
    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

    defaultProfileDefinition, getProfileDefinition, setProfileDefinition

    Methods inherited from class org.pac4j.core.util.InitializableObject

    afterInternalInit, beforeInternalInit, getLastAttempt, getMaxAttempts, getMinTimeIntervalBetweenAttemptsInMilliseconds, getNbAttempts, init, init, isInitialized, reinit, setMaxAttempts, setMinTimeIntervalBetweenAttemptsInMilliseconds, shouldInitialize

    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 void validate(org.pac4j.core.credentials.Credentials cred, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)
      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
    • getUrl

      public String getUrl()
    • setUrl

      public void setUrl(String url)
    • getMapper

      public com.fasterxml.jackson.databind.ObjectMapper getMapper()
    • setMapper

      public void setMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
    • toString

      public String toString()
      Overrides:
      toString in class Object