Couchbase .NET SDK __CB_SDK_VERSION__

Show / Hide Table of Contents

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

View Source

AuthenticatorType

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
View Source

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
View Source

SupportsNonTls

Indicates whether this authenticator supports non-TLS connections.

Declaration
bool SupportsNonTls { get; }
Property Value
Type Description
bool
View Source

SupportsTls

Indicates whether this authenticator supports TLS connections.

Declaration
bool SupportsTls { get; }
Property Value
Type Description
bool

Methods

View Source

AuthenticateClientWebSocket(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.

View Source

AuthenticateGrpcMetadata(Metadata)

Adds authentication header for Stellar gRPC calls.

Declaration
void AuthenticateGrpcMetadata(Metadata metadata)
Parameters
Type Name Description
Metadata metadata

Metadata to add to gRPC messages

View Source

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
View Source

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.

View Source

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

A CancellationToken

ILogger<object> logger

An optional logger

Returns
Type Description
Task
View Source

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.

  • View Source
In this article
Back to top Copyright © 2020 Couchbase, Inc. All rights reserved.