56
56
refresh : Option < Refresh > ,
57
57
validation : crate :: validation:: Validation ,
58
58
jwt_source : JwtSource ,
59
- http_client : Option < Client > ,
59
+ http_client : Client ,
60
60
) -> Result < Authorizer < C > , InitError > {
61
61
Ok ( match key_source_type {
62
62
KeySourceType :: RSA ( path) => {
@@ -201,7 +201,7 @@ where
201
201
}
202
202
KeySourceType :: Jwks ( url) => {
203
203
let jwks_url = Url :: parse ( url. as_str ( ) ) . map_err ( |e| InitError :: JwksUrlError ( e. to_string ( ) ) ) ?;
204
- let key_store_manager = KeyStoreManager :: new ( jwks_url, refresh. unwrap_or_default ( ) ) ;
204
+ let key_store_manager = KeyStoreManager :: new ( http_client , jwks_url, refresh. unwrap_or_default ( ) ) ;
205
205
Authorizer {
206
206
key_source : KeySource :: KeyStoreSource ( key_store_manager) ,
207
207
claims_checker,
@@ -210,10 +210,10 @@ where
210
210
}
211
211
}
212
212
KeySourceType :: Discovery ( issuer_url) => {
213
- let jwks_url = Url :: parse ( & oidc:: discover_jwks ( issuer_url. as_str ( ) , http_client) . await ?)
213
+ let jwks_url = Url :: parse ( & oidc:: discover_jwks ( issuer_url. as_str ( ) , & http_client) . await ?)
214
214
. map_err ( |e| InitError :: JwksUrlError ( e. to_string ( ) ) ) ?;
215
215
216
- let key_store_manager = KeyStoreManager :: new ( jwks_url, refresh. unwrap_or_default ( ) ) ;
216
+ let key_store_manager = KeyStoreManager :: new ( http_client , jwks_url, refresh. unwrap_or_default ( ) ) ;
217
217
Authorizer {
218
218
key_source : KeySource :: KeyStoreSource ( key_store_manager) ,
219
219
claims_checker,
@@ -318,6 +318,7 @@ where
318
318
mod tests {
319
319
320
320
use jsonwebtoken:: { Algorithm , Header } ;
321
+ use reqwest:: Client ;
321
322
use serde_json:: Value ;
322
323
323
324
use crate :: { layer:: JwtSource , validation:: Validation } ;
@@ -333,7 +334,7 @@ mod tests {
333
334
None ,
334
335
Validation :: new ( ) ,
335
336
JwtSource :: AuthorizationHeader ,
336
- None ,
337
+ Client :: default ( ) ,
337
338
)
338
339
. await
339
340
. unwrap ( ) ;
@@ -359,7 +360,7 @@ mod tests {
359
360
None ,
360
361
Validation :: new ( ) ,
361
362
JwtSource :: AuthorizationHeader ,
362
- None ,
363
+ Client :: default ( ) ,
363
364
)
364
365
. await
365
366
. unwrap ( ) ;
@@ -375,7 +376,7 @@ mod tests {
375
376
None ,
376
377
Validation :: new ( ) ,
377
378
JwtSource :: AuthorizationHeader ,
378
- None ,
379
+ Client :: default ( ) ,
379
380
)
380
381
. await
381
382
. unwrap ( ) ;
@@ -388,7 +389,7 @@ mod tests {
388
389
None ,
389
390
Validation :: new ( ) ,
390
391
JwtSource :: AuthorizationHeader ,
391
- None ,
392
+ Client :: default ( ) ,
392
393
)
393
394
. await
394
395
. unwrap ( ) ;
@@ -401,7 +402,7 @@ mod tests {
401
402
None ,
402
403
Validation :: new ( ) ,
403
404
JwtSource :: AuthorizationHeader ,
404
- None ,
405
+ Client :: default ( ) ,
405
406
)
406
407
. await
407
408
. unwrap ( ) ;
@@ -414,7 +415,7 @@ mod tests {
414
415
None ,
415
416
Validation :: new ( ) ,
416
417
JwtSource :: AuthorizationHeader ,
417
- None ,
418
+ Client :: default ( ) ,
418
419
)
419
420
. await
420
421
. unwrap ( ) ;
@@ -440,7 +441,7 @@ mod tests {
440
441
None ,
441
442
Validation :: new ( ) ,
442
443
JwtSource :: AuthorizationHeader ,
443
- None ,
444
+ Client :: default ( ) ,
444
445
)
445
446
. await
446
447
. unwrap ( ) ;
@@ -453,7 +454,7 @@ mod tests {
453
454
None ,
454
455
Validation :: new ( ) ,
455
456
JwtSource :: AuthorizationHeader ,
456
- None ,
457
+ Client :: default ( ) ,
457
458
)
458
459
. await
459
460
. unwrap ( ) ;
@@ -466,7 +467,7 @@ mod tests {
466
467
None ,
467
468
Validation :: new ( ) ,
468
469
JwtSource :: AuthorizationHeader ,
469
- None ,
470
+ Client :: default ( ) ,
470
471
)
471
472
. await
472
473
. unwrap ( ) ;
@@ -482,7 +483,7 @@ mod tests {
482
483
None ,
483
484
Validation :: new ( ) ,
484
485
JwtSource :: AuthorizationHeader ,
485
- None ,
486
+ Client :: default ( ) ,
486
487
)
487
488
. await ;
488
489
println ! ( "{:?}" , a. as_ref( ) . err( ) ) ;
@@ -497,7 +498,7 @@ mod tests {
497
498
None ,
498
499
Validation :: default ( ) ,
499
500
JwtSource :: AuthorizationHeader ,
500
- None ,
501
+ Client :: default ( ) ,
501
502
)
502
503
. await ;
503
504
println ! ( "{:?}" , a. as_ref( ) . err( ) ) ;
@@ -512,7 +513,7 @@ mod tests {
512
513
None ,
513
514
Validation :: default ( ) ,
514
515
JwtSource :: AuthorizationHeader ,
515
- None ,
516
+ Client :: default ( ) ,
516
517
)
517
518
. await ;
518
519
println ! ( "{:?}" , a. as_ref( ) . err( ) ) ;
0 commit comments