io.vertx.ext.auth.htdigest

## Class HtdigestCredentials

- java.lang.Object
- - io.vertx.ext.auth.authentication.UsernamePasswordCredentials
  - - io.vertx.ext.auth.htdigest.HtdigestCredentials

- All Implemented Interfaces:
    Credentials

      public class HtdigestCredentials
      extends UsernamePasswordCredentials
      implements Credentials

  Credentials specific to the `HtdigestAuth` authentication provider
  Author:
    Stephane Bastian

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `HtdigestCredentials()`
    `HtdigestCredentials(JsonObject jsonObject)`
    `HtdigestCredentials(String username, String password)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `HtdigestCredentials` | `applyHttpChallenge(String challenge, HttpMethod method, String uri, Integer nc, String cnonce)` Applies the HTTP Authorization challenge to this Credential instance.
    `<V> void` | `checkValid(V arg)` Implementors should override this method to perform validation.
    `String` | `getAlgorithm()`
    `String` | `getCnonce()`
    `String` | `getMethod()`
    `String` | `getNc()`
    `String` | `getNonce()`
    `String` | `getOpaque()`
    `String` | `getQop()`
    `String` | `getRealm()`
    `String` | `getResponse()`
    `String` | `getUri()`
    `HtdigestCredentials` | `setAlgorithm(String algorithm)`
    `HtdigestCredentials` | `setCnonce(String cnonce)`
    `HtdigestCredentials` | `setMethod(String method)`
    `HtdigestCredentials` | `setNc(String nc)`
    `HtdigestCredentials` | `setNonce(String nonce)`
    `HtdigestCredentials` | `setOpaque(String opaque)`
    `HtdigestCredentials` | `setPassword(String password)`
    `HtdigestCredentials` | `setQop(String qop)`
    `HtdigestCredentials` | `setRealm(String realm)`
    `HtdigestCredentials` | `setResponse(String response)`
    `HtdigestCredentials` | `setUri(String uri)`
    `HtdigestCredentials` | `setUsername(String username)`
    `String` | `toHttpAuthorization()` Encodes this credential as an HTTP Authorization https://tools.ietf.org/html/rfc7235.
    `JsonObject` | `toJson()` Simple interop to downcast back to JSON for backwards compatibility.
    `String` | `toString()`

    - ### Methods inherited from class io.vertx.ext.auth.authentication.UsernamePasswordCredentials

      `getPassword, getUsername`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface io.vertx.ext.auth.authentication.Credentials

      `applyHttpChallenge, applyHttpChallenge`

- - ### Constructor Detail

    - #### HtdigestCredentials

          public HtdigestCredentials()

    - #### HtdigestCredentials

          public HtdigestCredentials(String username,
                                     String password)

    - #### HtdigestCredentials

          public HtdigestCredentials(JsonObject jsonObject)

  - ### Method Detail

    - #### getAlgorithm

          public String getAlgorithm()

    - #### getCnonce

          public String getCnonce()

    - #### getMethod

          public String getMethod()

    - #### getNc

          public String getNc()

    - #### getNonce

          public String getNonce()

    - #### getOpaque

          public String getOpaque()

    - #### getQop

          public String getQop()

    - #### getRealm

          public String getRealm()

    - #### getResponse

          public String getResponse()

    - #### getUri

          public String getUri()

    - #### setAlgorithm

          public HtdigestCredentials setAlgorithm(String algorithm)

    - #### setCnonce

          public HtdigestCredentials setCnonce(String cnonce)

    - #### setMethod

          public HtdigestCredentials setMethod(String method)

    - #### setNc

          public HtdigestCredentials setNc(String nc)

    - #### setNonce

          public HtdigestCredentials setNonce(String nonce)

    - #### setOpaque

          public HtdigestCredentials setOpaque(String opaque)

    - #### setQop

          public HtdigestCredentials setQop(String qop)

    - #### setRealm

          public HtdigestCredentials setRealm(String realm)

    - #### setResponse

          public HtdigestCredentials setResponse(String response)

    - #### setUri

          public HtdigestCredentials setUri(String uri)

    - #### setUsername

          public HtdigestCredentials setUsername(String username)

      Overrides:
        `setUsername` in class `UsernamePasswordCredentials`

    - #### setPassword

          public HtdigestCredentials setPassword(String password)

      Overrides:
        `setPassword` in class `UsernamePasswordCredentials`

    - #### checkValid

          public <V> void checkValid(V arg)
                              throws CredentialValidationException

      Description copied from interface: `Credentials`
      Implementors should override this method to perform validation. An argument is allowed to allow custom validation, for example, when given a configuration property, a specific property may be allowed to be null.
      Specified by:
        `checkValid` in interface `Credentials`
      Overrides:
        `checkValid` in class `UsernamePasswordCredentials`
      Type Parameters:
        `V` - the generic type of the argument
      Parameters:
        `arg` - optional argument or null.
      Throws:
        `CredentialValidationException` - when the validation fails

    - #### toJson

          public JsonObject toJson()

      Description copied from interface: `Credentials`
      Simple interop to downcast back to JSON for backwards compatibility.
      Specified by:
        `toJson` in interface `Credentials`
      Overrides:
        `toJson` in class `UsernamePasswordCredentials`
      Returns:
        JSON representation of this credential.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `UsernamePasswordCredentials`

    - #### applyHttpChallenge

          public HtdigestCredentials applyHttpChallenge(String challenge,
                                                        HttpMethod method,
                                                        String uri,
                                                        Integer nc,
                                                        String cnonce)
                                                 throws CredentialValidationException

      Description copied from interface: `Credentials`
      Applies the HTTP Authorization challenge to this Credential instance. The internal state can change to reflect the extra properties the challenge conveys. See https://tools.ietf.org/html/rfc7235 for more information.
      Specified by:
        `applyHttpChallenge` in interface `Credentials`
      Overrides:
        `applyHttpChallenge` in class `UsernamePasswordCredentials`
      Parameters:
        `challenge` - the challenge is the `WWW-Authenticate` header response from a 401 request. Null challenges are allowed, and in this case, no verification will be performed, however it is up to the implementation to permit this.
        `method` - The http method this response is responding.
        `uri` - The http uri this response is responding.
        `nc` - The client internal counter (optional).
        `cnonce` - The client internal nonce (optional).
      Returns:
        fluent self.
      Throws:
        `CredentialValidationException` - if the challenge cannot be applicable.

    - #### toHttpAuthorization

          public String toHttpAuthorization()

      Description copied from interface: `Credentials`
      Encodes this credential as an HTTP Authorization https://tools.ietf.org/html/rfc7235. Calls to this method, expect that `Credentials.applyHttpChallenge(String, HttpMethod, String, Integer, String)` has been prior executed. For some Authentication schemes, this isn't a requirement but doing so ensures that the object is on the right state.
      Specified by:
        `toHttpAuthorization` in interface `Credentials`
      Overrides:
        `toHttpAuthorization` in class `UsernamePasswordCredentials`
      Returns:
        HTTP header including scheme.

Copyright © 2023 Eclipse. All rights reserved.