diff --git a/pom.xml b/pom.xml
index 54fb43d..be84bb0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,9 @@
1.3
5.4.2
5.0.0
- 1.14.0
+ 1.15.1
+
+ 5.5.0
@@ -90,6 +92,13 @@
pom
import
+
+
+ net.java.dev.jna
+ jna
+ ${jna.version}
+ test
+
diff --git a/tokens/src/main/java/io/scalecube/security/tokens/jwt/JwtTokenResolverImpl.java b/tokens/src/main/java/io/scalecube/security/tokens/jwt/JwtTokenResolverImpl.java
index dec2fb9..8b12522 100644
--- a/tokens/src/main/java/io/scalecube/security/tokens/jwt/JwtTokenResolverImpl.java
+++ b/tokens/src/main/java/io/scalecube/security/tokens/jwt/JwtTokenResolverImpl.java
@@ -102,7 +102,10 @@ private Mono findKey(String kid, AtomicReference> computedValueHo
(kid1) -> {
Mono result =
computedValueHolder.updateAndGet(
- mono -> Mono.defer(() -> keyProvider.findKey(kid)).cache());
+ mono ->
+ Mono.defer(() -> keyProvider.findKey(kid1))
+ .cache()
+ .doOnError(ex -> keyResolutions.remove(kid1)));
scheduleCleanup(kid, computedValueHolder);
return result;
});