- All Known Implementing Classes:
- ExpirationBasedAuthTokenManager,- StaticAuthTokenManager,- ValidatingAuthTokenManager
AuthToken instances used by the driver.
 The manager must manage tokens for the same identity. Therefore, it is not intended for a change of identity.
Implementations should supply the same token unless it needs to be updated since a change of token might result in extra processing by the driver.
Driver initializes new connections with a token supplied by the manager. If token changes, driver action depends on connection's Bolt protocol version:
- Bolt 5.1 or above - LOGOFFandLOGONmessages are dispatched to update the token on next interaction
- Bolt 5.0 or below - connection is closed an a new one is initialized with the new token
All implementations of this interface must be thread-safe and non-blocking for caller threads. For instance, IO operations must not be done on the calling thread.
- Since:
- 5.8
- 
Method SummaryModifier and TypeMethodDescriptiongetToken()Returns aCompletionStagefor a validAuthToken.booleanhandleSecurityException(AuthToken authToken, SecurityException exception) HandlesSecurityExceptionthat is created based on the server's security error response by determining if the given error may be resolved upon nextgetToken()invokation.
- 
Method Details- 
getTokenCompletionStage<AuthToken> getToken()Returns aCompletionStagefor a validAuthToken.Driver invokes this method often to check if token has changed. Failures will surface via the driver API, like Session.beginTransaction()method and others.- Returns:
- a stage for a valid token, must not be nullor complete withnull
- See Also:
 
- 
handleSecurityExceptionHandlesSecurityExceptionthat is created based on the server's security error response by determining if the given error may be resolved upon nextgetToken()invokation.If this method returns true, the driver wraps the originalSecurityExceptioninSecurityRetryableException. The managed transaction API (likeSession.executeRead(TransactionCallback), etc.) automatically retries its unit of work if no other condition is violated, while the other query execution APIs surface this error for external handling.If this method returns false, the original error remains unchanged.This method must not throw exceptions. - Parameters:
- authToken- the current token
- exception- the security exception
- Returns:
- trueif the exception should be marked as retryable or- falseif it should remain unchanged
- Since:
- 5.12
 
 
-