org.apache.http.auth

## Interface AuthScheme

- All Known Subinterfaces:
    ContextAwareAuthScheme
  所有已知实现类：
    AuthSchemeBase ， BasicScheme ， DigestScheme ， GGSSchemeBase ， KerberosScheme ， NegotiateScheme ， NTLMScheme ， RFC2617Scheme ， SPNegoScheme

      public interface AuthScheme

  该接口代表一种抽象的面向挑战响应的认证方案。

  验证方案应该能够支持以下功能：

  - 解析并处理目标服务器响应于对受保护资源的请求发送的挑战
  - 提供其文字指定
  - 提供其参数（如果有）
  - 提供该认证方案适用于（如果可用）的领域
  - 为给定的凭证集和HTTP请求生成授权字符串以响应授权挑战。

  认证方案可能是有状态的，涉及一系列质询 - 响应交换。

  重要信息：此接口的实现必须还实现`ContextAwareAuthScheme`接口，以保持与较新版本的HttpClient的API兼容。

  从以下版本开始：
    4

- - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Header` | `authenticate(Credentials credentials, HttpRequest request)` 已过时。 （4.1）使用`ContextAwareAuthScheme.authenticate(Credentials, HttpRequest, org.apache.http.protocol.HttpContext)`
    `String` | `getParameter(String name)` 返回具有给定名称的身份验证参数（如果可用）。
    `String` | `getRealm()` 返回认证领域。
    `String` | `getSchemeName()` 返回给定认证方案的文本指定。
    `boolean` | `isComplete()` 认证过程可能涉及一系列质询 - 响应交换。
    `boolean` | `isConnectionBased()` 测试认证方案是否以每个连接为基础提供授权，而不是通常的每个请求的基础
    `void` | `processChallenge(Header header)` 处理给定的挑战令牌。

- - ### 方法详细信息

    - #### processChallenge

          void processChallenge(Header header)
                                throws MalformedChallengeException

      处理给定的挑战令牌。 一些认证方案可能涉及多个挑战 - 应答交换。 这种方案必须能够在处理顺序挑战时维持状态信息
      参数
        `header` - 挑战头
      异常
        `MalformedChallengeException`

    - #### getSchemeName

          String getSchemeName()

      返回给定认证方案的文本指定。
      结果
        给定的认证方案的名称

    - #### getParameter

          String getParameter(String name)

      返回具有给定名称的身份验证参数（如果可用）。
      参数
        `name` - 要返回的参数的名称
      结果
        具有给定名称的参数

    - #### getRealm

          String getRealm()

      返回认证领域。 如果认证领域的概念不适用于给定的认证方案，则返回`null` 。
      结果
        认证领域

    - #### isConnectionBased

          boolean isConnectionBased()

      测试认证方案是否以每个连接为基础提供授权，而不是通常的每个请求的基础
      结果
        `true`如果方案是基于连接的， `false`如果方案是基于请求的。

    - #### isComplete

          boolean isComplete()

      认证过程可能涉及一系列质询 - 响应交换。 该方法测试授权过程是否已成功或不成功完成，即所有必需的授权挑战都已被完整处理。
      结果
        `true`如果认证过程已经完成，否则为 `false` 。

    - #### authenticate

          @Deprecated
          Header authenticate(Credentials credentials,
                                       HttpRequest request)
                              throws AuthenticationException

      已过时。 （4.1）使用`ContextAwareAuthScheme.authenticate(Credentials, HttpRequest, org.apache.http.protocol.HttpContext)`
      为给定的一组`Credentials`生成一个授权字符串。
      参数
        `credentials` - 要用于验证的一组凭据
        `request` - 请求被认证
      结果
        授权字符串
      异常
        `AuthenticationException` - 如果由于身份验证失败而无法生成授权字符串

Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.

本帮助文档是使用 《谷歌翻译》翻译，请与英文版配合使用 by--QQ:654638585