Skip to content

Commit d74ba2c

Browse files
committed
handled errors better in JWK Set cache
1 parent d1033b6 commit d74ba2c

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/JWKSetCacheService.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@
3232
import org.slf4j.LoggerFactory;
3333
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
3434
import org.springframework.stereotype.Service;
35+
import org.springframework.web.client.RestClientException;
3536
import org.springframework.web.client.RestTemplate;
3637

3738
import com.google.common.cache.CacheBuilder;
3839
import com.google.common.cache.CacheLoader;
3940
import com.google.common.cache.LoadingCache;
4041
import com.google.common.util.concurrent.UncheckedExecutionException;
42+
import com.google.gson.JsonParseException;
4143
import com.nimbusds.jose.jwk.JWKSet;
4244

4345
/**
@@ -136,14 +138,18 @@ private class JWKSetEncryptorFetcher extends CacheLoader<String, JWTEncryptionAn
136138
*/
137139
@Override
138140
public JWTEncryptionAndDecryptionService load(String key) throws Exception {
139-
String jsonString = restTemplate.getForObject(key, String.class);
140-
JWKSet jwkSet = JWKSet.parse(jsonString);
141-
142-
JWKSetKeyStore keyStore = new JWKSetKeyStore(jwkSet);
143-
144-
JWTEncryptionAndDecryptionService service = new DefaultJWTEncryptionAndDecryptionService(keyStore);
145-
146-
return service;
141+
try {
142+
String jsonString = restTemplate.getForObject(key, String.class);
143+
JWKSet jwkSet = JWKSet.parse(jsonString);
144+
145+
JWKSetKeyStore keyStore = new JWKSetKeyStore(jwkSet);
146+
147+
JWTEncryptionAndDecryptionService service = new DefaultJWTEncryptionAndDecryptionService(keyStore);
148+
149+
return service;
150+
} catch (JsonParseException | RestClientException e) {
151+
throw new IllegalArgumentException("Unable to load JWK Set");
152+
}
147153
}
148154
}
149155

0 commit comments

Comments
 (0)