@@ -740,6 +740,7 @@ _oauth2_jose_jwks_provider_init(oauth2_log_t *log,
740
740
provider -> resolve = oauth2_jose_jwks_eckey_url_resolve ;
741
741
break ;
742
742
case OAUTH2_JOSE_JWKS_PROVIDER_AWS_ALB :
743
+ provider -> jwks_uri = oauth2_uri_ctx_init (log );
743
744
provider -> resolve = oauth2_jose_jwks_aws_alb_resolve ;
744
745
provider -> alb_arn = NULL ;
745
746
provider -> alb_base_url = NULL ;
@@ -773,6 +774,7 @@ _oauth2_jose_jwks_provider_clone(oauth2_log_t *log,
773
774
dst -> jwks_uri = oauth2_uri_ctx_clone (log , src -> jwks_uri );
774
775
break ;
775
776
case OAUTH2_JOSE_JWKS_PROVIDER_AWS_ALB :
777
+ dst -> jwks_uri = oauth2_uri_ctx_clone (log , src -> jwks_uri );
776
778
dst -> alb_arn = oauth2_strdup (src -> alb_arn );
777
779
dst -> alb_base_url = oauth2_strdup (src -> alb_base_url );
778
780
break ;
@@ -802,6 +804,8 @@ _oauth2_jose_jwks_provider_free(oauth2_log_t *log,
802
804
oauth2_uri_ctx_free (log , provider -> jwks_uri );
803
805
break ;
804
806
case OAUTH2_JOSE_JWKS_PROVIDER_AWS_ALB :
807
+ if (provider -> jwks_uri )
808
+ oauth2_uri_ctx_free (log , provider -> jwks_uri );
805
809
if (provider -> alb_arn )
806
810
oauth2_mem_free (provider -> alb_arn );
807
811
if (provider -> alb_base_url )
@@ -1890,6 +1894,9 @@ _OAUTH_CFG_CTX_CALLBACK(oauth2_jose_verify_options_jwk_set_aws_alb)
1890
1894
ptr -> jwks_provider -> alb_base_url = oauth2_strdup (alb_base_url );
1891
1895
}
1892
1896
1897
+ rv = oauth2_jose_options_uri_ctx (
1898
+ log , value , params , ptr -> jwks_provider -> jwks_uri , "aws_alb" );
1899
+
1893
1900
end :
1894
1901
1895
1902
oauth2_debug (log , "leave: %s" , rv );
@@ -2313,15 +2320,13 @@ oauth2_jose_jwks_aws_alb_resolve(oauth2_log_t *log,
2313
2320
}
2314
2321
oauth2_debug (log , "constructed ALB JWKs URL: %s" , url );
2315
2322
2316
- provider -> jwks_uri = oauth2_uri_ctx_init (log );
2317
- oauth2_jose_options_uri_ctx (log , url , NULL , provider -> jwks_uri , NULL );
2323
+ provider -> jwks_uri -> endpoint -> url = url ;
2318
2324
2319
2325
oauth2_jose_jwk_list_t * result = _oauth2_jose_jwks_resolve_from_uri (
2320
2326
log , provider , refresh ,
2321
2327
_oauth2_jose_jwks_eckey_url_resolve_response_callback );
2322
2328
2323
- oauth2_uri_ctx_free (log , provider -> jwks_uri );
2324
- provider -> jwks_uri = NULL ;
2329
+ provider -> jwks_uri -> endpoint -> url = NULL ;
2325
2330
oauth2_mem_free (url );
2326
2331
2327
2332
return result ;
0 commit comments