22 #include <pulsar/defines.h>
28 typedef struct _pulsar_authentication pulsar_authentication_t;
30 typedef char *(*token_supplier)(
void *);
32 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_create(
const char *dynamicLibPath,
33 const char *authParamsString);
35 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_tls_create(
const char *certificatePath,
36 const char *privateKeyPath);
38 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create(
const char *token);
39 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_token_create_with_supplier(
40 token_supplier tokenSupplier,
void *ctx);
42 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_basic_create(
const char *username,
43 const char *password);
45 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_athenz_create(
const char *authParamsString);
47 PULSAR_PUBLIC pulsar_authentication_t *pulsar_authentication_oauth2_create(
const char *authParamsString);
49 PULSAR_PUBLIC
void pulsar_authentication_free(pulsar_authentication_t *authentication);