Interface IAuthenticator
Provides a unified interface for authenticating connections to Couchbase Server. Authenticators are configuration objects that store user credentials.
Namespace: Couchbase.Core.IO.Authentication.Authenticators
Assembly: Couchbase.NetClient.dll
Syntax
public interface IAuthenticator
Properties
| Edit this page View SourceAuthenticatorType
Allows for easier type checking of authenticators without incurring the overhead of type checking against its concrete class.
Declaration
AuthenticatorType AuthenticatorType { get; }
Property Value
| Type | Description |
|---|---|
| AuthenticatorType |
CanReauthenticateKv
Determines whether this authenticator can be used to re-authenticate existing KV connections. E.g. JWT authenticator should re-authenticate existing KV connections when the token is refreshed, while the password and certificate authenticators leave existing connections untouched.
Declaration
bool CanReauthenticateKv { get; }
Property Value
| Type | Description |
|---|---|
| bool |
SupportsNonTls
Indicates whether this authenticator supports non-TLS connections.
Declaration
bool SupportsNonTls { get; }
Property Value
| Type | Description |
|---|---|
| bool |
SupportsTls
Indicates whether this authenticator supports TLS connections.
Declaration
bool SupportsTls { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Methods
| Edit this page View SourceAuthenticateClientWebSocket(ClientWebSocket)
Takes a ClientWebSocket and applies authentication (e.g., setting headers).
Declaration
void AuthenticateClientWebSocket(ClientWebSocket clientWebSocket)
Parameters
| Type | Name | Description |
|---|---|---|
| ClientWebSocket | clientWebSocket | A ClientWebSocket object. |
AuthenticateHttpHandler(HttpMessageHandler, ClusterOptions, ICertificateValidationCallbackFactory, ILogger<object>?)
Adds TLS authentication to a HttpMessageHandler if the authenticator supports it (e.g. CertificateAuthenticator).
Declaration
void AuthenticateHttpHandler(HttpMessageHandler handler, ClusterOptions clusterOptions, ICertificateValidationCallbackFactory callbackFactory, ILogger<object>? logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
| HttpMessageHandler | handler | |
| ClusterOptions | clusterOptions | |
| ICertificateValidationCallbackFactory | callbackFactory | |
| ILogger<object> | logger |
AuthenticateHttpRequest(HttpRequestMessage)
Adds authentication to an HTTP request (e.g., Authorization header).
Declaration
void AuthenticateHttpRequest(HttpRequestMessage request)
Parameters
| Type | Name | Description |
|---|---|---|
| HttpRequestMessage | request | The HTTP request to authenticate. |
AuthenticateSslStream(SslStream, string, ClusterOptions, ICertificateValidationCallbackFactory, CancellationToken, ILogger<object>?)
Takes an SSL stream, applies authentication (e.g. client certificates) and connects.
Declaration
Task AuthenticateSslStream(SslStream sslStream, string targetHost, ClusterOptions clusterOptions, ICertificateValidationCallbackFactory callbackFactory, CancellationToken cancellationToken, ILogger<object>? logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
| SslStream | sslStream | The SslStream to authenticate |
| string | targetHost | The target host to connect to |
| ClusterOptions | clusterOptions | The ClusterOptions |
| ICertificateValidationCallbackFactory | callbackFactory | An ICertificateValidationCallbackFactory implementation |
| CancellationToken | cancellationToken | |
| ILogger<object> | logger | An optional logger |
Returns
| Type | Description |
|---|---|
| Task |
GetClientCertificates(ILogger<object>?)
Gets client certificates for mTLS authentication, if applicable.
Declaration
X509Certificate2Collection? GetClientCertificates(ILogger<object>? logger = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ILogger<object> | logger |
Returns
| Type | Description |
|---|---|
| X509Certificate2Collection | Client certificates, or null if not using certificate authentication. |