@@ -321,12 +321,12 @@ def add_jwk_dicts(self, keys):
321321 self ._add_jwk_dicts (keys )
322322
323323 def _add_jwk_dicts (self , keys ):
324- _new_keys = self ._jwk_dicts_to_keys (keys )
324+ _new_keys = self .jwk_dicts_as_keys (keys )
325325 if _new_keys :
326326 self ._keys .extend (_new_keys )
327327 self .last_updated = time .time ()
328328
329- def _jwk_dicts_to_keys (self , keys ):
329+ def jwk_dicts_as_keys (self , keys ):
330330 """
331331 Return JWK dictionaries as list of JWK objects
332332
@@ -385,8 +385,6 @@ def _jwk_dicts_to_keys(self, keys):
385385
386386 return _new_keys
387387
388- self .last_updated = time .time ()
389-
390388 def _do_local_jwk (self , filename ):
391389 """
392390 Load a JWKS from a local file
@@ -474,6 +472,7 @@ def do_remote(self):
474472 LOGGER .error (err )
475473 raise UpdateFailed (REMOTE_FAILED .format (self .source , str (err )))
476474
475+ new_keys = None
477476 load_successful = _http_resp .status_code == 200
478477 not_modified = _http_resp .status_code == 304
479478
@@ -486,7 +485,7 @@ def do_remote(self):
486485
487486 LOGGER .debug ("Loaded JWKS: %s from %s" , _http_resp .text , self .source )
488487 try :
489- self ._add_jwk_dicts (self .imp_jwks ["keys" ])
488+ new_keys = self .jwk_dicts_as_keys (self .imp_jwks ["keys" ])
490489 except KeyError :
491490 LOGGER .error ("No 'keys' keyword in JWKS" )
492491 self .ignore_errors_until = time .time () + self .ignore_errors_period
@@ -507,6 +506,8 @@ def do_remote(self):
507506 self .ignore_errors_until = time .time () + self .ignore_errors_period
508507 raise UpdateFailed (REMOTE_FAILED .format (self .source , _http_resp .status_code ))
509508
509+ if new_keys is not None :
510+ self ._keys = new_keys
510511 self .last_updated = time .time ()
511512 self .ignore_errors_until = None
512513 return load_successful
0 commit comments