Interface AuthenticationStrategy

  • All Known Implementing Classes:
    ProxyAuthenticationStrategy, TargetAuthenticationStrategy

    public interface AuthenticationStrategy
    /** A handler for determining if an HTTP response represents an authentication challenge that was sent back to the client as a result of authentication failure.

    Implementations of this interface must be thread-safe. Access to shared data must be synchronized as methods of this interface may be executed from multiple threads.

    Since:
    4.2
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void authFailed​(org.apache.http.HttpHost authhost, AuthScheme authScheme, org.apache.http.protocol.HttpContext context)
      Callback invoked in case of unsuccessful authentication.
      void authSucceeded​(org.apache.http.HttpHost authhost, AuthScheme authScheme, org.apache.http.protocol.HttpContext context)
      Callback invoked in case of successful authentication.
      java.util.Map<java.lang.String,​org.apache.http.Header> getChallenges​(org.apache.http.HttpHost authhost, org.apache.http.HttpResponse response, org.apache.http.protocol.HttpContext context)
      Extracts from the given HTTP response a collection of authentication challenges, each of which represents an authentication scheme supported by the authentication host.
      boolean isAuthenticationRequested​(org.apache.http.HttpHost authhost, org.apache.http.HttpResponse response, org.apache.http.protocol.HttpContext context)
      Determines if the given HTTP response response represents an authentication challenge that was sent back as a result of authentication failure.
      java.util.Queue<AuthOption> select​(java.util.Map<java.lang.String,​org.apache.http.Header> challenges, org.apache.http.HttpHost authhost, org.apache.http.HttpResponse response, org.apache.http.protocol.HttpContext context)
      Selects one authentication challenge out of all available and creates and generates AuthOption instance capable of processing that challenge.
    • Method Detail

      • isAuthenticationRequested

        boolean isAuthenticationRequested​(org.apache.http.HttpHost authhost,
                                          org.apache.http.HttpResponse response,
                                          org.apache.http.protocol.HttpContext context)
        Determines if the given HTTP response response represents an authentication challenge that was sent back as a result of authentication failure.
        Parameters:
        authhost - authentication host.
        response - HTTP response.
        context - HTTP context.
        Returns:
        true if user authentication is required, false otherwise.
      • getChallenges

        java.util.Map<java.lang.String,​org.apache.http.Header> getChallenges​(org.apache.http.HttpHost authhost,
                                                                                   org.apache.http.HttpResponse response,
                                                                                   org.apache.http.protocol.HttpContext context)
                                                                            throws MalformedChallengeException
        Extracts from the given HTTP response a collection of authentication challenges, each of which represents an authentication scheme supported by the authentication host.
        Parameters:
        authhost - authentication host.
        response - HTTP response.
        context - HTTP context.
        Returns:
        a collection of challenges keyed by names of corresponding authentication schemes.
        Throws:
        MalformedChallengeException - if one of the authentication challenges is not valid or malformed.
      • select

        java.util.Queue<AuthOption> select​(java.util.Map<java.lang.String,​org.apache.http.Header> challenges,
                                           org.apache.http.HttpHost authhost,
                                           org.apache.http.HttpResponse response,
                                           org.apache.http.protocol.HttpContext context)
                                    throws MalformedChallengeException
        Selects one authentication challenge out of all available and creates and generates AuthOption instance capable of processing that challenge.
        Parameters:
        challenges - collection of challenges.
        authhost - authentication host.
        response - HTTP response.
        context - HTTP context.
        Returns:
        authentication auth schemes that can be used for authentication. Can be empty.
        Throws:
        MalformedChallengeException - if one of the authentication challenges is not valid or malformed.
      • authSucceeded

        void authSucceeded​(org.apache.http.HttpHost authhost,
                           AuthScheme authScheme,
                           org.apache.http.protocol.HttpContext context)
        Callback invoked in case of successful authentication.
        Parameters:
        authhost - authentication host.
        authScheme - authentication scheme used.
        context - HTTP context.
      • authFailed

        void authFailed​(org.apache.http.HttpHost authhost,
                        AuthScheme authScheme,
                        org.apache.http.protocol.HttpContext context)
        Callback invoked in case of unsuccessful authentication.
        Parameters:
        authhost - authentication host.
        authScheme - authentication scheme used.
        context - HTTP context.