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 Detail

      • isAuthenticationRequested

        boolean isAuthenticationRequested​(HttpHost authhost,
                                          HttpResponse response,
                                          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,​Header> getChallenges​(HttpHost authhost,
                                                                   HttpResponse response,
                                                                   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,​Header> challenges,
                                           HttpHost authhost,
                                           HttpResponse response,
                                           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​(HttpHost authhost,
                           AuthScheme authScheme,
                           HttpContext context)
        Callback invoked in case of successful authentication.
        Parameters:
        authhost - authentication host.
        authScheme - authentication scheme used.
        context - HTTP context.
      • authFailed

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