Class IpExtractor

java.lang.Object
org.pac4j.http.credentials.extractor.IpExtractor
All Implemented Interfaces:
org.pac4j.core.credentials.extractor.CredentialsExtractor

public class IpExtractor extends Object implements org.pac4j.core.credentials.extractor.CredentialsExtractor
To extract a remote IP address. Search for headers as defined in an array. The first match will be returned as specified for enhanced for iteration over arrays. By default, if no proxy ip is setted (setProxyIp(String)), only request from proxy IP will be accepted.
Since:
1.8.0
Author:
Jerome Leleu, Guilherme I F L Weizenmann
  • Constructor Details

    • IpExtractor

      public IpExtractor()
    • IpExtractor

      public IpExtractor(String... alternateIpHeaders)
  • Method Details

    • extract

      public Optional<org.pac4j.core.credentials.Credentials> extract(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore, org.pac4j.core.profile.factory.ProfileManagerFactory profileManagerFactory)
      Specified by:
      extract in interface org.pac4j.core.credentials.extractor.CredentialsExtractor
    • setProxyIp

      public void setProxyIp(String proxyIp)
      Parameters:
      proxyIp - Set the IP to verify the proxy request source. Setting null or "" (empty string) disabled the proxy IP check.
    • setAlternateIpHeaders

      public void setAlternateIpHeaders(String... alternateIpHeaders)
      Parameters:
      alternateIpHeaders - Sets alternate headers to search for IP. The first match will be returned as specified for enhanced for iteration over arrays.