Classes | Macros | Typedefs | Enumerations | Functions | Variables
jwt_verifier.h File Reference
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/impl/codegen/gpr_types.h>
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/json/json.h"
Include dependency graph for jwt_verifier.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  grpc_jwt_verifier_email_domain_key_url_mapping
 

Macros

#define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN   "gserviceaccount.com"
 
#define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX   "www.googleapis.com/robot/v1/metadata/x509"
 
#define GRPC_OPENID_CONFIG_URL_SUFFIX   "/.well-known/openid-configuration"
 

Typedefs

typedef struct grpc_jwt_claims grpc_jwt_claims
 
typedef void(* grpc_jwt_verification_done_cb) (void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
 
typedef struct grpc_jwt_verifier grpc_jwt_verifier
 

Enumerations

enum  grpc_jwt_verifier_status {
  GRPC_JWT_VERIFIER_OK = 0, GRPC_JWT_VERIFIER_BAD_SIGNATURE, GRPC_JWT_VERIFIER_BAD_FORMAT, GRPC_JWT_VERIFIER_BAD_AUDIENCE,
  GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR, GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE, GRPC_JWT_VERIFIER_BAD_SUBJECT, GRPC_JWT_VERIFIER_GENERIC_ERROR
}
 

Functions

const char * grpc_jwt_claims_audience (const grpc_jwt_claims *claims)
 
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claims *claims, const char *audience)
 
void grpc_jwt_claims_destroy (grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claims *claims)
 
grpc_jwt_claimsgrpc_jwt_claims_from_json (grpc_core::Json json)
 
const char * grpc_jwt_claims_id (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_issuer (const grpc_jwt_claims *claims)
 
const grpc_core::Jsongrpc_jwt_claims_json (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_subject (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_issuer_email_domain (const char *issuer)
 
grpc_jwt_verifiergrpc_jwt_verifier_create (const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings)
 
void grpc_jwt_verifier_destroy (grpc_jwt_verifier *verifier)
 
const char * grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
 
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)
 

Variables

gpr_timespec grpc_jwt_verifier_clock_skew
 
grpc_core::Duration grpc_jwt_verifier_max_delay
 

Macro Definition Documentation

◆ GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN

#define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN   "gserviceaccount.com"

Definition at line 35 of file jwt_verifier.h.

◆ GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX

#define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX   "www.googleapis.com/robot/v1/metadata/x509"

Definition at line 36 of file jwt_verifier.h.

◆ GRPC_OPENID_CONFIG_URL_SUFFIX

#define GRPC_OPENID_CONFIG_URL_SUFFIX   "/.well-known/openid-configuration"

Definition at line 34 of file jwt_verifier.h.

Typedef Documentation

◆ grpc_jwt_claims

Definition at line 56 of file jwt_verifier.h.

◆ grpc_jwt_verification_done_cb

typedef void(* grpc_jwt_verification_done_cb) (void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)

Definition at line 106 of file jwt_verifier.h.

◆ grpc_jwt_verifier

Definition at line 74 of file jwt_verifier.h.

Enumeration Type Documentation

◆ grpc_jwt_verifier_status

Enumerator
GRPC_JWT_VERIFIER_OK 
GRPC_JWT_VERIFIER_BAD_SIGNATURE 
GRPC_JWT_VERIFIER_BAD_FORMAT 
GRPC_JWT_VERIFIER_BAD_AUDIENCE 
GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR 
GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE 
GRPC_JWT_VERIFIER_BAD_SUBJECT 
GRPC_JWT_VERIFIER_GENERIC_ERROR 

Definition at line 41 of file jwt_verifier.h.

Function Documentation

◆ grpc_jwt_claims_audience()

const char* grpc_jwt_claims_audience ( const grpc_jwt_claims claims)

Definition at line 244 of file jwt_verifier.cc.

◆ grpc_jwt_claims_check()

grpc_jwt_verifier_status grpc_jwt_claims_check ( const grpc_jwt_claims claims,
const char *  audience 
)

Definition at line 309 of file jwt_verifier.cc.

◆ grpc_jwt_claims_destroy()

void grpc_jwt_claims_destroy ( grpc_jwt_claims claims)

Definition at line 219 of file jwt_verifier.cc.

◆ grpc_jwt_claims_expires_at()

gpr_timespec grpc_jwt_claims_expires_at ( const grpc_jwt_claims claims)

Definition at line 254 of file jwt_verifier.cc.

◆ grpc_jwt_claims_from_json()

grpc_jwt_claims* grpc_jwt_claims_from_json ( grpc_core::Json  json)

Definition at line 264 of file jwt_verifier.cc.

◆ grpc_jwt_claims_id()

const char* grpc_jwt_claims_id ( const grpc_jwt_claims claims)

Definition at line 239 of file jwt_verifier.cc.

◆ grpc_jwt_claims_issued_at()

gpr_timespec grpc_jwt_claims_issued_at ( const grpc_jwt_claims claims)

Definition at line 249 of file jwt_verifier.cc.

◆ grpc_jwt_claims_issuer()

const char* grpc_jwt_claims_issuer ( const grpc_jwt_claims claims)

Definition at line 234 of file jwt_verifier.cc.

◆ grpc_jwt_claims_json()

const grpc_core::Json* grpc_jwt_claims_json ( const grpc_jwt_claims claims)

Definition at line 224 of file jwt_verifier.cc.

◆ grpc_jwt_claims_not_before()

gpr_timespec grpc_jwt_claims_not_before ( const grpc_jwt_claims claims)

Definition at line 259 of file jwt_verifier.cc.

◆ grpc_jwt_claims_subject()

const char* grpc_jwt_claims_subject ( const grpc_jwt_claims claims)

Definition at line 229 of file jwt_verifier.cc.

◆ grpc_jwt_issuer_email_domain()

const char* grpc_jwt_issuer_email_domain ( const char *  issuer)

Definition at line 779 of file jwt_verifier.cc.

◆ grpc_jwt_verifier_create()

grpc_jwt_verifier* grpc_jwt_verifier_create ( const grpc_jwt_verifier_email_domain_key_url_mapping mappings,
size_t  num_mappings 
)

Definition at line 925 of file jwt_verifier.cc.

◆ grpc_jwt_verifier_destroy()

void grpc_jwt_verifier_destroy ( grpc_jwt_verifier verifier)

Definition at line 947 of file jwt_verifier.cc.

◆ grpc_jwt_verifier_status_to_string()

const char* grpc_jwt_verifier_status_to_string ( grpc_jwt_verifier_status  status)

Definition at line 73 of file jwt_verifier.cc.

◆ grpc_jwt_verifier_verify()

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 at line 880 of file jwt_verifier.cc.

Variable Documentation

◆ grpc_jwt_verifier_clock_skew

gpr_timespec grpc_jwt_verifier_clock_skew

Definition at line 412 of file jwt_verifier.cc.

◆ grpc_jwt_verifier_max_delay

grpc_core::Duration grpc_jwt_verifier_max_delay

Definition at line 415 of file jwt_verifier.cc.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:21