19 #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_VERIFIER_H
20 #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_JWT_JWT_VERIFIER_H
32 #define GRPC_OPENID_CONFIG_URL_SUFFIX "/.well-known/openid-configuration"
33 #define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN "gserviceaccount.com"
34 #define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX \
35 "www.googleapis.com/robot/v1/metadata/x509"
112 const char* audience,
121 const char* audience);
int64_t grpc_millis
Definition: exec_ctx.h:35
grpc_jwt_verifier_status
Definition: jwt_verifier.h:39
@ GRPC_JWT_VERIFIER_BAD_FORMAT
Definition: jwt_verifier.h:42
@ GRPC_JWT_VERIFIER_BAD_SUBJECT
Definition: jwt_verifier.h:46
@ GRPC_JWT_VERIFIER_OK
Definition: jwt_verifier.h:40
@ GRPC_JWT_VERIFIER_GENERIC_ERROR
Definition: jwt_verifier.h:47
@ GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR
Definition: jwt_verifier.h:44
@ GRPC_JWT_VERIFIER_BAD_SIGNATURE
Definition: jwt_verifier.h:41
@ GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE
Definition: jwt_verifier.h:45
@ GRPC_JWT_VERIFIER_BAD_AUDIENCE
Definition: jwt_verifier.h:43
gpr_timespec grpc_jwt_claims_not_before(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:233
const char * grpc_jwt_claims_audience(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:218
const char * grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status)
Definition: jwt_verifier.cc:48
const char * grpc_jwt_claims_id(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:213
const char * grpc_jwt_issuer_email_domain(const char *issuer)
Definition: jwt_verifier.cc:760
const grpc_json * grpc_jwt_claims_json(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:198
grpc_millis grpc_jwt_verifier_max_delay
Definition: jwt_verifier.cc:394
gpr_timespec grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:223
const char * grpc_jwt_claims_issuer(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:208
grpc_jwt_claims * grpc_jwt_claims_from_json(grpc_json *json, const grpc_slice &buffer)
Definition: jwt_verifier.cc:239
void grpc_jwt_verifier_destroy(grpc_jwt_verifier *verifier)
Definition: jwt_verifier.cc:930
gpr_timespec grpc_jwt_verifier_clock_skew
Definition: jwt_verifier.cc:391
grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience)
Definition: jwt_verifier.cc:286
void grpc_jwt_claims_destroy(grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:192
gpr_timespec grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:228
const char * grpc_jwt_claims_subject(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:203
void grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data)
Definition: jwt_verifier.cc:857
grpc_jwt_verifier * grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings)
Definition: jwt_verifier.cc:906
void(* grpc_jwt_verification_done_cb)(void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
Definition: jwt_verifier.h:105
grpc_linked_mdelem status
Definition: lame_client.cc:44
Analogous to struct timespec.
Definition: gpr_types.h:47
Definition: jwt_verifier.cc:178
Definition: jwt_verifier.h:74
const char * key_url_prefix
Definition: jwt_verifier.h:81
const char * email_domain
Definition: jwt_verifier.h:76
Definition: jwt_verifier.cc:401
Definition: pollset_custom.cc:40
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice.h:60