GRPC C++  1.39.1
Data Structures | Enumerations | Functions | Variables
jwt_verifier.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/lib/security/credentials/jwt/jwt_verifier.h"
#include <limits.h>
#include <string.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include <grpc/support/sync.h>
#include <openssl/bn.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>
#include "src/core/lib/gprpp/manual_constructor.h"
#include "src/core/lib/http/httpcli.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/slice/b64.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/tsi/ssl_types.h"

Data Structures

struct  jose_header
 
struct  grpc_jwt_claims
 
struct  verifier_cb_ctx
 
struct  email_key_mapping
 
struct  grpc_jwt_verifier
 

Enumerations

enum  http_response_index { HTTP_RESPONSE_OPENID = 0 , HTTP_RESPONSE_KEYS , HTTP_RESPONSE_COUNT }
 

Functions

const char * grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
 
void grpc_jwt_claims_destroy (grpc_jwt_claims *claims)
 
const Jsongrpc_jwt_claims_json (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_subject (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_issuer (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_id (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_audience (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claims *claims)
 
grpc_jwt_claimsgrpc_jwt_claims_from_json (Json json)
 
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claims *claims, const char *audience)
 
void verifier_cb_ctx_destroy (verifier_cb_ctx *ctx)
 
const char * grpc_jwt_issuer_email_domain (const char *issuer)
 
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)
 
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 *v)
 

Variables

gpr_timespec grpc_jwt_verifier_clock_skew = {60, 0, GPR_TIMESPAN}
 
grpc_millis grpc_jwt_verifier_max_delay = 60 * GPR_MS_PER_SEC
 

Enumeration Type Documentation

◆ http_response_index

Enumerator
HTTP_RESPONSE_OPENID 
HTTP_RESPONSE_KEYS 
HTTP_RESPONSE_COUNT 

Function Documentation

◆ grpc_jwt_claims_audience()

const char* grpc_jwt_claims_audience ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_check()

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

◆ grpc_jwt_claims_destroy()

void grpc_jwt_claims_destroy ( grpc_jwt_claims claims)

◆ grpc_jwt_claims_expires_at()

gpr_timespec grpc_jwt_claims_expires_at ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_from_json()

grpc_jwt_claims* grpc_jwt_claims_from_json ( Json  json)

◆ grpc_jwt_claims_id()

const char* grpc_jwt_claims_id ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_issued_at()

gpr_timespec grpc_jwt_claims_issued_at ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_issuer()

const char* grpc_jwt_claims_issuer ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_json()

const Json* grpc_jwt_claims_json ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_not_before()

gpr_timespec grpc_jwt_claims_not_before ( const grpc_jwt_claims claims)

◆ grpc_jwt_claims_subject()

const char* grpc_jwt_claims_subject ( const grpc_jwt_claims claims)

◆ grpc_jwt_issuer_email_domain()

const char* grpc_jwt_issuer_email_domain ( const char *  issuer)

◆ 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 
)

◆ grpc_jwt_verifier_destroy()

void grpc_jwt_verifier_destroy ( grpc_jwt_verifier v)

◆ grpc_jwt_verifier_status_to_string()

const char* grpc_jwt_verifier_status_to_string ( grpc_jwt_verifier_status  status)

◆ 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 
)

◆ verifier_cb_ctx_destroy()

void verifier_cb_ctx_destroy ( verifier_cb_ctx ctx)

Variable Documentation

◆ grpc_jwt_verifier_clock_skew

gpr_timespec grpc_jwt_verifier_clock_skew = {60, 0, GPR_TIMESPAN}

◆ grpc_jwt_verifier_max_delay

grpc_millis grpc_jwt_verifier_max_delay = 60 * GPR_MS_PER_SEC