aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/security/jwt_verifier_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/core/security/jwt_verifier_test.c')
-rw-r--r--test/core/security/jwt_verifier_test.c188
1 files changed, 94 insertions, 94 deletions
diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c
index a4bfe0130e..0e16dc958e 100644
--- a/test/core/security/jwt_verifier_test.c
+++ b/test/core/security/jwt_verifier_test.c
@@ -167,12 +167,12 @@ static const char invalid_claims[] =
typedef struct {
grpc_jwt_verifier_status expected_status;
- const char *expected_issuer;
- const char *expected_subject;
+ const char* expected_issuer;
+ const char* expected_subject;
} verifier_test_config;
static void test_jwt_issuer_email_domain(void) {
- const char *d = grpc_jwt_issuer_email_domain("https://foo.com");
+ const char* d = grpc_jwt_issuer_email_domain("https://foo.com");
GPR_ASSERT(d == NULL);
d = grpc_jwt_issuer_email_domain("foo.com");
GPR_ASSERT(d == NULL);
@@ -204,10 +204,10 @@ static void test_jwt_issuer_email_domain(void) {
}
static void test_claims_success(void) {
- grpc_jwt_claims *claims;
+ grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_without_time_constraint);
- grpc_json *json = grpc_json_parse_string_with_len(
- (char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ grpc_json* json = grpc_json_parse_string_with_len(
+ (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != NULL);
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
claims = grpc_jwt_claims_from_json(&exec_ctx, json, s);
@@ -224,10 +224,10 @@ static void test_claims_success(void) {
}
static void test_expired_claims_failure(void) {
- grpc_jwt_claims *claims;
+ grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(expired_claims);
- grpc_json *json = grpc_json_parse_string_with_len(
- (char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ grpc_json* json = grpc_json_parse_string_with_len(
+ (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
gpr_timespec exp_iat = {100, 0, GPR_CLOCK_REALTIME};
gpr_timespec exp_exp = {120, 0, GPR_CLOCK_REALTIME};
gpr_timespec exp_nbf = {60, 0, GPR_CLOCK_REALTIME};
@@ -252,18 +252,18 @@ static void test_expired_claims_failure(void) {
static void test_invalid_claims_failure(void) {
grpc_slice s = grpc_slice_from_copied_string(invalid_claims);
- grpc_json *json = grpc_json_parse_string_with_len(
- (char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ grpc_json* json = grpc_json_parse_string_with_len(
+ (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
GPR_ASSERT(grpc_jwt_claims_from_json(&exec_ctx, json, s) == NULL);
grpc_exec_ctx_finish(&exec_ctx);
}
static void test_bad_audience_claims_failure(void) {
- grpc_jwt_claims *claims;
+ grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_without_time_constraint);
- grpc_json *json = grpc_json_parse_string_with_len(
- (char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ grpc_json* json = grpc_json_parse_string_with_len(
+ (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != NULL);
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
claims = grpc_jwt_claims_from_json(&exec_ctx, json, s);
@@ -275,10 +275,10 @@ static void test_bad_audience_claims_failure(void) {
}
static void test_bad_subject_claims_failure(void) {
- grpc_jwt_claims *claims;
+ grpc_jwt_claims* claims;
grpc_slice s = grpc_slice_from_copied_string(claims_with_bad_subject);
- grpc_json *json = grpc_json_parse_string_with_len(
- (char *)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
+ grpc_json* json = grpc_json_parse_string_with_len(
+ (char*)GRPC_SLICE_START_PTR(s), GRPC_SLICE_LENGTH(s));
GPR_ASSERT(json != NULL);
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
claims = grpc_jwt_claims_from_json(&exec_ctx, json, s);
@@ -289,11 +289,11 @@ static void test_bad_subject_claims_failure(void) {
grpc_exec_ctx_finish(&exec_ctx);
}
-static char *json_key_str(const char *last_part) {
+static char* json_key_str(const char* last_part) {
size_t result_len = strlen(json_key_str_part1) + strlen(json_key_str_part2) +
strlen(last_part);
- char *result = gpr_malloc(result_len + 1);
- char *current = result;
+ char* result = gpr_malloc(result_len + 1);
+ char* current = result;
strcpy(result, json_key_str_part1);
current += strlen(json_key_str_part1);
strcpy(current, json_key_str_part2);
@@ -302,18 +302,18 @@ static char *json_key_str(const char *last_part) {
return result;
}
-static char *good_google_email_keys(void) {
+static char* good_google_email_keys(void) {
size_t result_len = strlen(good_google_email_keys_part1) +
strlen(good_google_email_keys_part2);
- char *result = gpr_malloc(result_len + 1);
- char *current = result;
+ char* result = gpr_malloc(result_len + 1);
+ char* current = result;
strcpy(result, good_google_email_keys_part1);
current += strlen(good_google_email_keys_part1);
strcpy(current, good_google_email_keys_part2);
return result;
}
-static grpc_httpcli_response http_response(int status, char *body) {
+static grpc_httpcli_response http_response(int status, char* body) {
grpc_httpcli_response response;
memset(&response, 0, sizeof(grpc_httpcli_response));
response.status = status;
@@ -323,17 +323,17 @@ static grpc_httpcli_response http_response(int status, char *body) {
}
static int httpcli_post_should_not_be_called(
- grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request,
- const char *body_bytes, size_t body_size, grpc_millis deadline,
- grpc_closure *on_done, grpc_httpcli_response *response) {
+ grpc_exec_ctx* exec_ctx, const grpc_httpcli_request* request,
+ const char* body_bytes, size_t body_size, grpc_millis deadline,
+ grpc_closure* on_done, grpc_httpcli_response* response) {
GPR_ASSERT("HTTP POST should not be called" == NULL);
return 1;
}
static int httpcli_get_google_keys_for_email(
- grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request,
- grpc_millis deadline, grpc_closure *on_done,
- grpc_httpcli_response *response) {
+ grpc_exec_ctx* exec_ctx, const grpc_httpcli_request* request,
+ grpc_millis deadline, grpc_closure* on_done,
+ grpc_httpcli_response* response) {
*response = http_response(200, good_google_email_keys());
GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl);
GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0);
@@ -345,21 +345,21 @@ static int httpcli_get_google_keys_for_email(
return 1;
}
-static void on_verification_success(grpc_exec_ctx *exec_ctx, void *user_data,
+static void on_verification_success(grpc_exec_ctx* exec_ctx, void* user_data,
grpc_jwt_verifier_status status,
- grpc_jwt_claims *claims) {
+ grpc_jwt_claims* claims) {
GPR_ASSERT(status == GRPC_JWT_VERIFIER_OK);
GPR_ASSERT(claims != NULL);
- GPR_ASSERT(user_data == (void *)expected_user_data);
+ GPR_ASSERT(user_data == (void*)expected_user_data);
GPR_ASSERT(strcmp(grpc_jwt_claims_audience(claims), expected_audience) == 0);
grpc_jwt_claims_destroy(exec_ctx, claims);
}
static void test_jwt_verifier_google_email_issuer_success(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_google_email_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_google_email_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -370,7 +370,7 @@ static void test_jwt_verifier_google_email_issuer_success(void) {
grpc_auth_json_key_destruct(&key);
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
- on_verification_success, (void *)expected_user_data);
+ on_verification_success, (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(jwt);
@@ -378,9 +378,9 @@ static void test_jwt_verifier_google_email_issuer_success(void) {
}
static int httpcli_get_custom_keys_for_email(
- grpc_exec_ctx *exec_ctx, const grpc_httpcli_request *request,
- grpc_millis deadline, grpc_closure *on_done,
- grpc_httpcli_response *response) {
+ grpc_exec_ctx* exec_ctx, const grpc_httpcli_request* request,
+ grpc_millis deadline, grpc_closure* on_done,
+ grpc_httpcli_response* response) {
*response = http_response(200, gpr_strdup(good_jwk_set));
GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl);
GPR_ASSERT(strcmp(request->host, "keys.bar.com") == 0);
@@ -391,9 +391,9 @@ static int httpcli_get_custom_keys_for_email(
static void test_jwt_verifier_custom_email_issuer_success(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(&custom_mapping, 1);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_custom_email_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(&custom_mapping, 1);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_custom_email_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -404,17 +404,17 @@ static void test_jwt_verifier_custom_email_issuer_success(void) {
grpc_auth_json_key_destruct(&key);
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
- on_verification_success, (void *)expected_user_data);
+ on_verification_success, (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(jwt);
grpc_httpcli_set_override(NULL, NULL);
}
-static int httpcli_get_jwk_set(grpc_exec_ctx *exec_ctx,
- const grpc_httpcli_request *request,
- grpc_millis deadline, grpc_closure *on_done,
- grpc_httpcli_response *response) {
+static int httpcli_get_jwk_set(grpc_exec_ctx* exec_ctx,
+ const grpc_httpcli_request* request,
+ grpc_millis deadline, grpc_closure* on_done,
+ grpc_httpcli_response* response) {
*response = http_response(200, gpr_strdup(good_jwk_set));
GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl);
GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0);
@@ -423,11 +423,11 @@ static int httpcli_get_jwk_set(grpc_exec_ctx *exec_ctx,
return 1;
}
-static int httpcli_get_openid_config(grpc_exec_ctx *exec_ctx,
- const grpc_httpcli_request *request,
+static int httpcli_get_openid_config(grpc_exec_ctx* exec_ctx,
+ const grpc_httpcli_request* request,
grpc_millis deadline,
- grpc_closure *on_done,
- grpc_httpcli_response *response) {
+ grpc_closure* on_done,
+ grpc_httpcli_response* response) {
*response = http_response(200, gpr_strdup(good_openid_config));
GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl);
GPR_ASSERT(strcmp(request->host, "accounts.google.com") == 0);
@@ -440,9 +440,9 @@ static int httpcli_get_openid_config(grpc_exec_ctx *exec_ctx,
static void test_jwt_verifier_url_issuer_success(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_url_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_url_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -453,26 +453,26 @@ static void test_jwt_verifier_url_issuer_success(void) {
grpc_auth_json_key_destruct(&key);
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
- on_verification_success, (void *)expected_user_data);
+ on_verification_success, (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(jwt);
grpc_httpcli_set_override(NULL, NULL);
}
-static void on_verification_key_retrieval_error(grpc_exec_ctx *exec_ctx,
- void *user_data,
+static void on_verification_key_retrieval_error(grpc_exec_ctx* exec_ctx,
+ void* user_data,
grpc_jwt_verifier_status status,
- grpc_jwt_claims *claims) {
+ grpc_jwt_claims* claims) {
GPR_ASSERT(status == GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR);
GPR_ASSERT(claims == NULL);
- GPR_ASSERT(user_data == (void *)expected_user_data);
+ GPR_ASSERT(user_data == (void*)expected_user_data);
}
-static int httpcli_get_bad_json(grpc_exec_ctx *exec_ctx,
- const grpc_httpcli_request *request,
- grpc_millis deadline, grpc_closure *on_done,
- grpc_httpcli_response *response) {
+static int httpcli_get_bad_json(grpc_exec_ctx* exec_ctx,
+ const grpc_httpcli_request* request,
+ grpc_millis deadline, grpc_closure* on_done,
+ grpc_httpcli_response* response) {
*response = http_response(200, gpr_strdup("{\"bad\": \"stuff\"}"));
GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl);
GRPC_CLOSURE_SCHED(exec_ctx, on_done, GRPC_ERROR_NONE);
@@ -481,9 +481,9 @@ static int httpcli_get_bad_json(grpc_exec_ctx *exec_ctx,
static void test_jwt_verifier_url_issuer_bad_config(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_url_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_url_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -495,7 +495,7 @@ static void test_jwt_verifier_url_issuer_bad_config(void) {
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
on_verification_key_retrieval_error,
- (void *)expected_user_data);
+ (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(jwt);
@@ -504,9 +504,9 @@ static void test_jwt_verifier_url_issuer_bad_config(void) {
static void test_jwt_verifier_bad_json_key(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_google_email_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_google_email_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -518,18 +518,18 @@ static void test_jwt_verifier_bad_json_key(void) {
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
on_verification_key_retrieval_error,
- (void *)expected_user_data);
+ (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
gpr_free(jwt);
grpc_httpcli_set_override(NULL, NULL);
}
-static void corrupt_jwt_sig(char *jwt) {
+static void corrupt_jwt_sig(char* jwt) {
grpc_slice sig;
- char *bad_b64_sig;
- uint8_t *sig_bytes;
- char *last_dot = strrchr(jwt, '.');
+ char* bad_b64_sig;
+ uint8_t* sig_bytes;
+ char* last_dot = strrchr(jwt, '.');
GPR_ASSERT(last_dot != NULL);
{
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
@@ -546,20 +546,20 @@ static void corrupt_jwt_sig(char *jwt) {
grpc_slice_unref(sig);
}
-static void on_verification_bad_signature(grpc_exec_ctx *exec_ctx,
- void *user_data,
+static void on_verification_bad_signature(grpc_exec_ctx* exec_ctx,
+ void* user_data,
grpc_jwt_verifier_status status,
- grpc_jwt_claims *claims) {
+ grpc_jwt_claims* claims) {
GPR_ASSERT(status == GRPC_JWT_VERIFIER_BAD_SIGNATURE);
GPR_ASSERT(claims == NULL);
- GPR_ASSERT(user_data == (void *)expected_user_data);
+ GPR_ASSERT(user_data == (void*)expected_user_data);
}
static void test_jwt_verifier_bad_signature(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
- char *jwt = NULL;
- char *key_str = json_key_str(json_key_str_part3_for_url_issuer);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
+ char* jwt = NULL;
+ char* key_str = json_key_str(json_key_str_part3_for_url_issuer);
grpc_auth_json_key key = grpc_auth_json_key_create_from_string(key_str);
gpr_free(key_str);
GPR_ASSERT(grpc_auth_json_key_is_valid(&key));
@@ -572,38 +572,38 @@ static void test_jwt_verifier_bad_signature(void) {
GPR_ASSERT(jwt != NULL);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, jwt, expected_audience,
on_verification_bad_signature,
- (void *)expected_user_data);
+ (void*)expected_user_data);
gpr_free(jwt);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
grpc_httpcli_set_override(NULL, NULL);
}
-static int httpcli_get_should_not_be_called(grpc_exec_ctx *exec_ctx,
- const grpc_httpcli_request *request,
+static int httpcli_get_should_not_be_called(grpc_exec_ctx* exec_ctx,
+ const grpc_httpcli_request* request,
grpc_millis deadline,
- grpc_closure *on_done,
- grpc_httpcli_response *response) {
+ grpc_closure* on_done,
+ grpc_httpcli_response* response) {
GPR_ASSERT(0);
return 1;
}
-static void on_verification_bad_format(grpc_exec_ctx *exec_ctx, void *user_data,
+static void on_verification_bad_format(grpc_exec_ctx* exec_ctx, void* user_data,
grpc_jwt_verifier_status status,
- grpc_jwt_claims *claims) {
+ grpc_jwt_claims* claims) {
GPR_ASSERT(status == GRPC_JWT_VERIFIER_BAD_FORMAT);
GPR_ASSERT(claims == NULL);
- GPR_ASSERT(user_data == (void *)expected_user_data);
+ GPR_ASSERT(user_data == (void*)expected_user_data);
}
static void test_jwt_verifier_bad_format(void) {
grpc_exec_ctx exec_ctx = GRPC_EXEC_CTX_INIT;
- grpc_jwt_verifier *verifier = grpc_jwt_verifier_create(NULL, 0);
+ grpc_jwt_verifier* verifier = grpc_jwt_verifier_create(NULL, 0);
grpc_httpcli_set_override(httpcli_get_should_not_be_called,
httpcli_post_should_not_be_called);
grpc_jwt_verifier_verify(&exec_ctx, verifier, NULL, "bad jwt",
expected_audience, on_verification_bad_format,
- (void *)expected_user_data);
+ (void*)expected_user_data);
grpc_jwt_verifier_destroy(&exec_ctx, verifier);
grpc_exec_ctx_finish(&exec_ctx);
grpc_httpcli_set_override(NULL, NULL);
@@ -613,7 +613,7 @@ static void test_jwt_verifier_bad_format(void) {
/* bad signature custom provided email*/
/* bad key */
-int main(int argc, char **argv) {
+int main(int argc, char** argv) {
grpc_test_init(argc, argv);
grpc_init();
test_jwt_issuer_email_domain();