Class IpExtractor

  • All Implemented Interfaces:
    org.pac4j.core.credentials.extractor.CredentialsExtractor

    public class IpExtractor
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      IpExtractor()  
      IpExtractor​(java.lang.String... alternateIpHeaders)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<org.pac4j.core.credentials.Credentials> extract​(org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)  
      java.util.List getAlternateIpHeaders()  
      java.lang.String getProxyIp()  
      void setAlternateIpHeaders​(java.lang.String... alternateIpHeaders)  
      void setProxyIp​(java.lang.String proxyIp)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

      • IpExtractor

        public IpExtractor()
      • IpExtractor

        public IpExtractor​(java.lang.String... alternateIpHeaders)
    • Method Detail

      • extract

        public java.util.Optional<org.pac4j.core.credentials.Credentials> extract​(org.pac4j.core.context.WebContext context,
                                                                                  org.pac4j.core.context.session.SessionStore sessionStore)
        Specified by:
        extract in interface org.pac4j.core.credentials.extractor.CredentialsExtractor
      • getProxyIp

        public java.lang.String getProxyIp()
        Returns:
        The verified proxy IP
        Since:
        2.1.0
      • setProxyIp

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

        public java.util.List getAlternateIpHeaders()
        Returns:
        Defined headers to search for IP as Collections.unmodifiableList(List)
        Since:
        2.1.0
      • setAlternateIpHeaders

        public void setAlternateIpHeaders​(java.lang.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.
        Since:
        2.1.0
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object