org.apache.hc.client5.http

## Interface AuthenticationStrategy

All Known Implementing Classes:
  DefaultAuthenticationStrategy

    @Contract(threading=STATELESS)
    public interface AuthenticationStrategy

Strategy to select auth schemes in order of preference based on auth challenges presented by the opposite endpoint (target server or a proxy).

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

Methods
`List<AuthScheme>` `select(ChallengeType challengeType, Map<String,AuthChallenge> challenges, HttpContext context)` Returns an list of `AuthScheme`s to handle the given `AuthChallenge`s in their order of preference.

### Method Detail

#### select

    List<AuthScheme> select(ChallengeType challengeType,
                          Map<String,AuthChallenge> challenges,
                          HttpContext context)

Returns an list of `AuthScheme`s to handle the given `AuthChallenge`s in their order of preference.

Parameters:
  `challengeType` - challenge type.
  `challenges` - collection of challenges.
  `context` - HTTP context.
Returns:
  authentication auth schemes that can be used for authentication. Can be empty.
Since:
  5.0