19 #ifndef GRPC_INTERNAL_CPP_CLIENT_SECURE_CREDENTIALS_H
20 #define GRPC_INTERNAL_CPP_CLIENT_SECURE_CREDENTIALS_H
28 #include "absl/strings/str_cat.h"
41 if (c_creds_ !=
nullptr) c_creds_->
Unref();
51 std::shared_ptr<Channel> CreateChannelWithInterceptors(
53 std::vector<std::unique_ptr<
55 interceptor_creators)
override;
63 if (c_creds_ !=
nullptr) c_creds_->
Unref();
70 return absl::StrCat(
"SecureCallCredentials{",
85 namespace experimental {
91 const StsCredentialsOptions& options);
97 static void Destroy(
void* wrapper);
103 const char** error_details);
107 std::unique_ptr<MetadataCredentialsPlugin> plugin);
115 const char** error_details);
116 std::unique_ptr<ThreadPoolInterface> thread_pool_;
117 std::unique_ptr<MetadataCredentialsPlugin> plugin_;
A call credentials object encapsulates the state needed by a client to authenticate with a server for...
Definition: credentials.h:126
Options for channel creation.
Definition: channel_arguments.h:39
A channel credentials object encapsulates all the state needed by a client to authenticate with a ser...
Definition: credentials.h:69
Classes that require gRPC to be initialized should inherit from this class.
Definition: grpc_library.h:38
Definition: secure_credentials.h:59
bool ApplyToCall(grpc_call *call) override
Apply this instance's credentials to call.
Definition: secure_credentials.cc:81
grpc_call_credentials * GetRawCreds()
Definition: secure_credentials.h:65
SecureCallCredentials * AsSecureCredentials() override
Definition: secure_credentials.h:68
std::string DebugString() override
Definition: secure_credentials.h:69
SecureCallCredentials(grpc_call_credentials *c_creds)
Definition: secure_credentials.cc:76
~SecureCallCredentials() override
Definition: secure_credentials.h:62
Definition: secure_credentials.h:37
~SecureChannelCredentials() override
Definition: secure_credentials.h:40
grpc_channel_credentials * GetRawCreds()
Definition: secure_credentials.h:43
SecureChannelCredentials * AsSecureCredentials() override
Definition: secure_credentials.h:48
std::shared_ptr< Channel > CreateChannelImpl(const std::string &target, const ChannelArguments &args) override
Definition: secure_credentials.cc:53
SecureChannelCredentials(grpc_channel_credentials *c_creds)
Definition: secure_credentials.cc:47
Definition: client_interceptor.h:46
void Unref()
Definition: ref_counted.h:302
grpc_status_code
Definition: status.h:26
void(* grpc_credentials_plugin_metadata_cb)(void *user_data, const grpc_metadata *creds_md, size_t num_creds_md, grpc_status_code status, const char *error_details)
Callback function to be called by the metadata credentials plugin implementation when the metadata is...
Definition: grpc_security.h:396
#define GRPC_METADATA_CREDENTIALS_PLUGIN_SYNC_MAX
Maximum number of metadata entries returnable by a credentials plugin via a synchronous return.
Definition: grpc_security.h:428
grpc_sts_credentials_options StsCredentialsCppToCoreOptions(const StsCredentialsOptions &options)
Definition: secure_credentials.cc:245
std::shared_ptr< ChannelCredentials > WrapChannelCredentials(grpc_channel_credentials *creds)
Definition: secure_credentials.cc:87
An Alarm posts the user-provided tag to its associated completion queue or invokes the user-provided ...
Definition: alarm.h:33
Context that can be used by metadata credentials plugin in order to create auth related metadata.
Definition: grpc_security.h:402
Definition: credentials.h:173
virtual std::string debug_string()
Definition: credentials.h:202
Definition: credentials.h:102
Options for creating STS Oauth Token Exchange credentials following the IETF draft https://tools....
Definition: grpc_security.h:366