Package io.vertx.ext.auth.authentication

## Class UsernamePasswordCredentials

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

- All Implemented Interfaces:
    `Credentials`
  Direct Known Subclasses:
    `HtdigestCredentials`

      public class UsernamePasswordCredentials
      extends Object
      implements Credentials

  Credentials used by any `AuthenticationProvider` that requires tokens, for example JWT, Oauth2, OpenId Connect
  Author:
    Paulo Lopes

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `UsernamePasswordCredentials()` |
    `` | `UsernamePasswordCredentials​(JsonObject jsonObject)` |
    `` | `UsernamePasswordCredentials​(String username, String password)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `UsernamePasswordCredentials` | `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` | `getPassword()` |
    `String` | `getUsername()` |
    `UsernamePasswordCredentials` | `setPassword​(String password)` |
    `UsernamePasswordCredentials` | `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 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

    - #### UsernamePasswordCredentials

          protected UsernamePasswordCredentials()

    - #### UsernamePasswordCredentials

          public UsernamePasswordCredentials​(String username,
                                             String password)

    - #### UsernamePasswordCredentials

          public UsernamePasswordCredentials​(JsonObject jsonObject)

  - ### Method Detail

    - #### getPassword

          public String getPassword()

    - #### getUsername

          public String getUsername()

    - #### setPassword

          public UsernamePasswordCredentials setPassword​(String password)

    - #### setUsername

          public UsernamePasswordCredentials setUsername​(String username)

    - #### 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`
      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`
      Returns:
        JSON representation of this credential.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### applyHttpChallenge

          public UsernamePasswordCredentials 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`
      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`
      Returns:
        HTTP header including scheme.