Package com.couchbase.client.core.env
Class PasswordAuthenticator
java.lang.Object
com.couchbase.client.core.env.PasswordAuthenticator
- All Implemented Interfaces:
Authenticator
Performs authentication against a Couchbase server cluster using username and password.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Provides customization to thePasswordAuthenticator
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
authHttpRequest
(ServiceType serviceType, com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpRequest request) Allows to add authentication credentials to the http request for the given service.void
authKeyValueConnection
(EndpointContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPipeline pipeline) Allows the authenticator to add KV handlers during connection bootstrap to perform authentication.builder()
Deprecated.Please use one of the "See Also" methods instead, to ensure all required builder properties are set.Creates a builder for an authenticator that uses the given credentials.builder
(Supplier<UsernameAndPassword> supplier) Creates a builder for an authenticator that uses dynamic credentials.static PasswordAuthenticator
Creates a new password authenticator with the default settings.static PasswordAuthenticator
ldapCompatible
(String username, String password) Creates an LDAP compatible password authenticator which is INSECURE if not used with TLS.com.couchbase.client.core.deps.io.grpc.CallCredentials
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.couchbase.client.core.env.Authenticator
applyTlsProperties, supportsNonTls, supportsTls
-
Method Details
-
builder
Deprecated.Please use one of the "See Also" methods instead, to ensure all required builder properties are set.Creates a newPasswordAuthenticator.Builder
which allows to customize this authenticator.- See Also:
-
builder
Creates a builder for an authenticator that uses the given credentials. -
builder
Creates a builder for an authenticator that uses dynamic credentials. This enables updating credentials without having to restart your application.IMPORTANT: The supplier's
get()
method must not do blocking IO. It is called from async contexts, where blocking IO can starve important SDK resources like async event loops.Instead of blocking inside the supplier, the supplier should return a value from a volatile field.
One way to keep the supplier's value up to date is to schedule a recurring task that reads new credentials from an external source and stores them in the volatile field.
-
create
Creates a new password authenticator with the default settings.- Parameters:
username
- the username to use for all authentication.password
- the password to use alongside the username.- Returns:
- the instantiated
PasswordAuthenticator
. - See Also:
-
ldapCompatible
Creates an LDAP compatible password authenticator which is INSECURE if not used with TLS.Please note that this is INSECURE and will leak user credentials on the wire to eavesdroppers. This should only be enabled in trusted environments.
- Parameters:
username
- the username to use for all authentication.password
- the password to use alongside the username.- Returns:
- the instantiated
PasswordAuthenticator
.
-
authKeyValueConnection
public void authKeyValueConnection(EndpointContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPipeline pipeline) Description copied from interface:Authenticator
Allows the authenticator to add KV handlers during connection bootstrap to perform authentication.- Specified by:
authKeyValueConnection
in interfaceAuthenticator
- Parameters:
ctx
- the endpoint context.pipeline
- the pipeline when the endpoint is constructed.
-
authHttpRequest
public void authHttpRequest(ServiceType serviceType, com.couchbase.client.core.deps.io.netty.handler.codec.http.HttpRequest request) Description copied from interface:Authenticator
Allows to add authentication credentials to the http request for the given service.- Specified by:
authHttpRequest
in interfaceAuthenticator
- Parameters:
serviceType
- the service for this request.request
- the http request.
-
protostellarCallCredentials
public com.couchbase.client.core.deps.io.grpc.CallCredentials protostellarCallCredentials()- Specified by:
protostellarCallCredentials
in interfaceAuthenticator
-