233 typedef const char *(*lcb_AUTHCALLBACK)(
void *cookie,
const char *host,
const char *port,
const char *bucket);
246 lcb_AUTHCALLBACK usercb, lcb_AUTHCALLBACK passcb),
247 "Use lcbauth_set_callback");
249 typedef struct lcbauth_CREDENTIALS_ lcbauth_CREDENTIALS;
260 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_username(lcbauth_CREDENTIALS *credentials,
const char *username,
261 size_t username_len);
271 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_password(lcbauth_CREDENTIALS *credentials,
const char *password,
272 size_t password_len);
279 LCBAUTH_RESULT_OK = 0,
280 LCBAUTH_RESULT_NOT_AVAILABLE,
293 LCBAUTH_SERVICE_UNSPECIFIED = 0,
294 LCBAUTH_SERVICE_KEY_VALUE,
295 LCBAUTH_SERVICE_QUERY,
296 LCBAUTH_SERVICE_SEARCH,
297 LCBAUTH_SERVICE_ANALYTICS,
298 LCBAUTH_SERVICE_MANAGEMENT,
299 LCBAUTH_SERVICE_EVENTING,
300 LCBAUTH_SERVICE_VIEWS,
310 LIBCOUCHBASE_API lcbauth_SERVICE lcbauth_credentials_service(
const lcbauth_CREDENTIALS *credentials);
316 LCBAUTH_REASON_NEW_OPERATION = 0,
317 LCBAUTH_REASON_AUTHENTICATION_FAILURE,
327 LIBCOUCHBASE_API
lcbauth_REASON lcbauth_credentials_reason(
const lcbauth_CREDENTIALS *credentials);
339 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_hostname(
const lcbauth_CREDENTIALS *credentials,
const char **hostname,
340 size_t *hostname_len);
352 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_port(
const lcbauth_CREDENTIALS *credentials,
const char **port,
365 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_bucket(
const lcbauth_CREDENTIALS *credentials,
const char **bucket,
376 LIBCOUCHBASE_API
lcb_STATUS lcbauth_credentials_cookie(
const lcbauth_CREDENTIALS *credentials,
void **cookie);
387 void (*callback)(lcbauth_CREDENTIALS *));
411 LCBAUTH_MODE_DYNAMIC = 2
lcb_AUTHENTICATOR * lcbauth_clone(const lcb_AUTHENTICATOR *src)
lcbauth_ADDPASSFLAGS
Flags to use when adding a new set of credentials to lcbauth_add_pass.
Definition: auth.h:149
lcb_STATUS lcbauth_set_mode(lcb_AUTHENTICATOR *src, lcbauth_MODE mode)
lcb_STATUS
Error codes returned by the library.
Definition: error.h:210
lcbauth_MODE
Definition: auth.h:394
lcb_AUTHENTICATOR * lcbauth_new(void)
Opaque pointer containing credentials for the library.
void lcbauth_ref(lcb_AUTHENTICATOR *auth)
Use "bucket-specific" credentials when authenticating.
Definition: auth.h:399
User is bucket name.
Definition: auth.h:158
User/Password is administrative; for cluster.
Definition: auth.h:151
lcbauth_REASON
Reason, why the library requests credentials.
Definition: auth.h:320
void lcbauth_unref(lcb_AUTHENTICATOR *auth)
Use role-based access control.
Definition: auth.h:408
lcbauth_RESULT
Result could be used to notify the library that credentials cannot be resolved (e.g.
Definition: auth.h:283
lcb_STATUS lcbauth_add_pass(lcb_AUTHENTICATOR *auth, const char *user, const char *pass, int flags)