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"
111 const char* audience,
119 const char* audience);
int64_t grpc_millis
Definition: exec_ctx.h:37
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:235
const char * grpc_jwt_claims_audience(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:220
const char * grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status)
Definition: jwt_verifier.cc:49
const char * grpc_jwt_claims_id(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:215
const char * grpc_jwt_issuer_email_domain(const char *issuer)
Definition: jwt_verifier.cc:750
const grpc_core::Json * grpc_jwt_claims_json(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:200
grpc_millis grpc_jwt_verifier_max_delay
Definition: jwt_verifier.cc:393
gpr_timespec grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:225
const char * grpc_jwt_claims_issuer(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:210
void grpc_jwt_verifier_destroy(grpc_jwt_verifier *verifier)
Definition: jwt_verifier.cc:916
gpr_timespec grpc_jwt_verifier_clock_skew
Definition: jwt_verifier.cc:390
grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience)
Definition: jwt_verifier.cc:286
grpc_jwt_claims * grpc_jwt_claims_from_json(grpc_core::Json json)
Definition: jwt_verifier.cc:240
void grpc_jwt_claims_destroy(grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:195
gpr_timespec grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:230
const char * grpc_jwt_claims_subject(const grpc_jwt_claims *claims)
Definition: jwt_verifier.cc:205
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:847
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:892
void(* grpc_jwt_verification_done_cb)(void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
Definition: jwt_verifier.h:104
Analogous to struct timespec.
Definition: gpr_types.h:47
Definition: jwt_verifier.cc:182
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:399
Definition: pollset_custom.cc:40