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_;
grpc_credentials_status
Definition: credentials.h:41
Definition: credentials.h:205
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
int64_t grpc_millis
Definition: exec_ctx.h:35
~grpc_google_refresh_token_credentials() override
Definition: oauth2_credentials.cc:417
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
const char * type
Definition: oauth2_credentials.h:36
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)
Definition: oauth2_credentials.h:127
Definition: oauth2_credentials.h:71
~grpc_access_token_credentials() override
Definition: oauth2_credentials.cc:702
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: error_internal.h:39
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
void on_http_response(grpc_credentials_metadata_request *r, grpc_error *error)
Definition: oauth2_credentials.cc:228
Definition: credentials.h:225
char * refresh_token
Definition: oauth2_credentials.h:39
grpc_access_token_credentials(const char *access_token)
Definition: oauth2_credentials.cc:719
void grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token)
Destructs the object.
Definition: oauth2_credentials.cc:100
Definition: polling_entity.h:37
Round Robin Policy.
Definition: backend_metric.cc:24
Definition: oauth2_credentials.h:105
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
char * client_id
Definition: oauth2_credentials.h:37
void cancel_get_request_metadata(grpc_credentials_mdelem_array *md_array, grpc_error *error) override
Definition: oauth2_credentials.cc:322
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_oauth2_token_fetcher_credentials() override
Definition: oauth2_credentials.cc:122
grpc_google_refresh_token_credentials(grpc_auth_refresh_token refresh_token)
Definition: oauth2_credentials.cc:453
Definition: oauth2_credentials.h:35
grpc_error * ValidateStsCredentialsOptions(const grpc_sts_credentials_options *options, grpc_uri **sts_url_out)
Definition: oauth2_credentials.cc:639
Definition: metadata.h:98
Definition: sync_windows.h:26
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
const grpc_auth_refresh_token & refresh_token() const
Definition: oauth2_credentials.h:111
Definition: uri_parser.h:26
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Options for creating STS Oauth Token Exchange credentials following the IETF draft https://tools...
Definition: grpc_security.h:337
Analogous to struct timespec.
Definition: gpr_types.h:47
void(* grpc_iomgr_cb_func)(void *arg, grpc_error *error)
gRPC Callback definition.
Definition: closure.h:53
grpc_oauth2_token_fetcher_credentials()
Definition: oauth2_credentials.cc:349
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
char * client_secret
Definition: oauth2_credentials.h:38
Context that can be used by metadata credentials plugin in order to create auth related metadata...
Definition: grpc_security.h:373
void cancel_get_request_metadata(grpc_credentials_mdelem_array *md_array, grpc_error *error) override
Definition: oauth2_credentials.cc:714