Package io.vertx.ext.auth.authentication
Class TokenCredentials
- java.lang.Object
-
- io.vertx.ext.auth.authentication.TokenCredentials
-
- All Implemented Interfaces:
Credentials
public class TokenCredentials extends Object implements Credentials
Credentials used by anyAuthenticationProvider
that requires Tokens, such as OAuth2 or JWT to perform its authentication- Author:
- Paulo Lopes
-
-
Constructor Summary
Constructors Constructor Description TokenCredentials()
TokenCredentials(JsonObject jsonObject)
TokenCredentials(String token)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TokenCredentials
addScope(String scope)
TokenCredentials
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.List<String>
getScopes()
String
getToken()
TokenCredentials
setScopes(List<String> scopes)
TokenCredentials
setToken(String token)
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
-
TokenCredentials
public TokenCredentials()
-
TokenCredentials
public TokenCredentials(String token)
-
TokenCredentials
public TokenCredentials(JsonObject jsonObject)
-
-
Method Detail
-
getToken
public String getToken()
-
setToken
public TokenCredentials setToken(String token)
-
setScopes
public TokenCredentials setScopes(List<String> scopes)
-
addScope
public TokenCredentials addScope(String scope)
-
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 TokenCredentials 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.
-
-