Package io.debezium.server.http.jwt
Class JWTAuthenticator
java.lang.Object
io.debezium.server.http.jwt.JWTAuthenticator
- All Implemented Interfaces:
Authenticator
Implements the logic for authenticating against an endpoint supporting the
JSON Web Tokens (JWT) scheme. Once authentication is successful, the
authenticator can add the authentication details to the header of an HTTP
request using a HTTPRequest.Builder instance. After the initial authentication
is successful, additional authentication attempts will refresh the token.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final HttpRequest.Builderprivate final HttpClientprivate static final doubleprivate org.joda.time.DateTimeprivate Stringprivate Stringprivate static final org.slf4j.Loggerprivate final com.fasterxml.jackson.databind.ObjectMapperprivate final Stringprivate final HttpRequest.Builderprivate final longprivate final longprivate final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanprivate void(package private) HttpRequest(package private) HttpRequest(package private) voidvoidsetAuthorizationHeader(HttpRequest.Builder httpRequestBuilder) (package private) voidsetJwtRefreshToken(String token) (package private) voidsetJwtToken(String token)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
EXPIRATION_DURATION_MULTIPLIER
private static final double EXPIRATION_DURATION_MULTIPLIER- See Also:
-
username
-
password
-
tokenExpirationDuration
private final long tokenExpirationDuration -
refreshTokenExpirationDuration
private final long refreshTokenExpirationDuration -
jwtToken
-
jwtRefreshToken
-
client
-
authRequestBuilder
-
refreshRequestBuilder
-
mapper
private final com.fasterxml.jackson.databind.ObjectMapper mapper -
authenticationState
-
expirationDateTime
private org.joda.time.DateTime expirationDateTime
-
-
Constructor Details
-
JWTAuthenticator
-
-
Method Details
-
setAuthenticationState
-
setJwtToken
-
setJwtRefreshToken
-
generateInitialAuthenticationRequest
-
checkAuthenticationExpired
private void checkAuthenticationExpired() -
generateRefreshAuthenticationRequest
-
setAuthorizationHeader
- Specified by:
setAuthorizationHeaderin interfaceAuthenticator
-
authenticate
- Specified by:
authenticatein interfaceAuthenticator- Throws:
InterruptedException
-