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 anyAuthenticationProvider
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(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 interfaceCredentials
- 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 interfaceCredentials
- Returns:
- JSON representation of this credential.
-
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 interfaceCredentials
- Parameters:
challenge
- the challenge is theWWW-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 interfaceCredentials
- Returns:
- HTTP header including scheme.
-
-