19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H
20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_OAUTH2_OAUTH2_CREDENTIALS_H
30 #define GRPC_STS_POST_MINIMAL_BODY_FORMAT_STRING \
31 "grant_type=urn:ietf:params:oauth:grant-type:token-exchange&subject_token=%" \
32 "s&subject_token_type=%s"
49 const char* json_string);
98 bool token_fetch_pending_ =
false;
112 return refresh_token_;
Definition: oauth2_credentials.h:127
~grpc_access_token_credentials() override
Definition: oauth2_credentials.cc:702
void cancel_get_request_metadata(grpc_credentials_mdelem_array *md_array, grpc_error *error) override
Definition: oauth2_credentials.cc:714
grpc_access_token_credentials(const char *access_token)
Definition: oauth2_credentials.cc:719
bool get_request_metadata(grpc_polling_entity *pollent, grpc_auth_metadata_context context, grpc_credentials_mdelem_array *md_array, grpc_closure *on_request_metadata, grpc_error **error) override
Definition: oauth2_credentials.cc:706
Definition: oauth2_credentials.h:106
void fetch_oauth2(grpc_credentials_metadata_request *req, grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, grpc_iomgr_cb_func cb, grpc_millis deadline) override
Definition: oauth2_credentials.cc:421
~grpc_google_refresh_token_credentials() override
Definition: oauth2_credentials.cc:417
const grpc_auth_refresh_token & refresh_token() const
Definition: oauth2_credentials.h:111
grpc_google_refresh_token_credentials(grpc_auth_refresh_token refresh_token)
Definition: oauth2_credentials.cc:453
Definition: oauth2_credentials.h:71
virtual void fetch_oauth2(grpc_credentials_metadata_request *req, grpc_httpcli_context *httpcli_context, grpc_polling_entity *pollent, grpc_iomgr_cb_func cb, grpc_millis deadline)=0
void cancel_get_request_metadata(grpc_credentials_mdelem_array *md_array, grpc_error *error) override
Definition: oauth2_credentials.cc:322
grpc_oauth2_token_fetcher_credentials()
Definition: oauth2_credentials.cc:349
~grpc_oauth2_token_fetcher_credentials() override
Definition: oauth2_credentials.cc:122
bool get_request_metadata(grpc_polling_entity *pollent, grpc_auth_metadata_context context, grpc_credentials_mdelem_array *md_array, grpc_closure *on_request_metadata, grpc_error **error) override
Definition: oauth2_credentials.cc:272
void on_http_response(grpc_credentials_metadata_request *r, grpc_error *error)
Definition: oauth2_credentials.cc:228
void(* grpc_iomgr_cb_func)(void *arg, grpc_error *error)
gRPC Callback definition.
Definition: closure.h:53
grpc_credentials_status
Definition: credentials.h:41
int64_t grpc_millis
Definition: exec_ctx.h:35
Round Robin Policy.
Definition: backend_metric.cc:24
grpc_error * ValidateStsCredentialsOptions(const grpc_sts_credentials_options *options, grpc_uri **sts_url_out)
Definition: oauth2_credentials.cc:639
void grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token)
Destructs the object.
Definition: oauth2_credentials.cc:100
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json(const grpc_json *json)
Creates a refresh token object from parsed json.
Definition: oauth2_credentials.cc:53
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response(const struct grpc_http_response *response, grpc_mdelem *token_md, grpc_millis *token_lifetime)
int grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token)
Returns 1 if the object is valid, 0 otherwise.
Definition: oauth2_credentials.cc:47
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string(const char *json_string)
Creates a refresh token object from string.
Definition: oauth2_credentials.cc:89
grpc_core::RefCountedPtr< grpc_call_credentials > grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token token)
Definition: oauth2_credentials.cc:458
Definition: sync_windows.h:26
Analogous to struct timespec.
Definition: gpr_types.h:47
Context that can be used by metadata credentials plugin in order to create auth related metadata.
Definition: grpc_security.h:373
Definition: oauth2_credentials.h:35
char * refresh_token
Definition: oauth2_credentials.h:39
char * client_id
Definition: oauth2_credentials.h:37
const char * type
Definition: oauth2_credentials.h:36
char * client_secret
Definition: oauth2_credentials.h:38
Definition: credentials.h:226
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: credentials.h:205
Definition: error_internal.h:39
Definition: metadata.h:98
Definition: polling_entity.h:37
Options for creating STS Oauth Token Exchange credentials following the IETF draft https://tools....
Definition: grpc_security.h:337
Definition: uri_parser.h:26