17 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_EXTERNAL_EXTERNAL_ACCOUNT_CREDENTIALS_H
18 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_EXTERNAL_EXTERNAL_ACCOUNT_CREDENTIALS_H
52 const Json& json, std::vector<std::string> scopes,
98 void OnRetrieveSubjectTokenInternal(absl::string_view subject_token,
101 void ExchangeToken(absl::string_view subject_token);
105 void ImpersenateServiceAccount();
112 std::vector<std::string> scopes_;
Definition: external_account_credentials.h:35
static RefCountedPtr< ExternalAccountCredentials > Create(const Json &json, std::vector< std::string > scopes, grpc_error_handle *error)
Definition: external_account_credentials.cc:65
ExternalAccountCredentials(Options options, std::vector< std::string > scopes)
Definition: external_account_credentials.cc:180
~ExternalAccountCredentials() override
Definition: external_account_credentials.cc:189
std::string debug_string() override
Definition: external_account_credentials.cc:191
virtual void RetrieveSubjectToken(HTTPRequestContext *ctx, const Options &options, std::function< void(std::string, grpc_error_handle)> cb)=0
Definition: ref_counted_ptr.h:35
Definition: oauth2_credentials.h:72
void(* grpc_iomgr_cb_func)(void *arg, grpc_error_handle error)
gRPC Callback definition.
Definition: closure.h:53
int64_t grpc_millis
Definition: exec_ctx.h:37
grpc_error_handle error
Definition: lame_client.cc:54
Round Robin Policy.
Definition: backend_metric.cc:26
void grpc_http_response_destroy(grpc_http_response *response)
Definition: parser.cc:364
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: external_account_credentials.h:62
grpc_closure closure
Definition: external_account_credentials.h:77
grpc_http_response response
Definition: external_account_credentials.h:78
HTTPRequestContext(grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, grpc_millis deadline)
Definition: external_account_credentials.h:63
grpc_millis deadline
Definition: external_account_credentials.h:74
grpc_polling_entity * pollent
Definition: external_account_credentials.h:73
grpc_httpcli_context * httpcli_context
Definition: external_account_credentials.h:72
~HTTPRequestContext()
Definition: external_account_credentials.h:68
Definition: external_account_credentials.h:38
std::string token_url
Definition: external_account_credentials.h:43
std::string quota_project_id
Definition: external_account_credentials.h:46
std::string service_account_impersonation_url
Definition: external_account_credentials.h:42
std::string type
Definition: external_account_credentials.h:39
std::string token_info_url
Definition: external_account_credentials.h:44
std::string client_secret
Definition: external_account_credentials.h:48
std::string client_id
Definition: external_account_credentials.h:47
std::string audience
Definition: external_account_credentials.h:40
Json credential_source
Definition: external_account_credentials.h:45
std::string subject_token_type
Definition: external_account_credentials.h:41
Definition: error_internal.h:41
Definition: polling_entity.h:37