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; });