You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/07/14 03:21:11 UTC
[lucene-solr] branch reference_impl updated: #134 - Fix up
JWTVerificaitonResolver.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/reference_impl by this push:
new bfdab56 #134 - Fix up JWTVerificaitonResolver.
bfdab56 is described below
commit bfdab56e07918c3d2d48518a2adc055639aff87b
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Jul 13 22:20:53 2020 -0500
#134 - Fix up JWTVerificaitonResolver.
---
solr/core/src/java/org/apache/solr/security/JWTAuthPlugin.java | 2 +-
.../java/org/apache/solr/security/JWTVerificationkeyResolver.java | 7 +++----
solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java | 1 +
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/security/JWTAuthPlugin.java b/solr/core/src/java/org/apache/solr/security/JWTAuthPlugin.java
index fb7b9db..2a6f67b 100644
--- a/solr/core/src/java/org/apache/solr/security/JWTAuthPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/JWTAuthPlugin.java
@@ -163,7 +163,7 @@ public class JWTAuthPlugin extends AuthenticationPlugin implements SpecProvider,
long jwkCacheDuration = Long.parseLong((String) pluginConfig.getOrDefault(PARAM_JWK_CACHE_DURATION, "3600"));
JWTIssuerConfig.setHttpsJwksFactory(new JWTIssuerConfig.HttpsJwksFactory(jwkCacheDuration, DEFAULT_REFRESH_REPRIEVE_THRESHOLD));
- issuerConfigs = new ArrayList<>();
+ issuerConfigs = Collections.synchronizedList(new ArrayList<>());
// Try to parse an issuer from top level config, and add first (primary issuer)
Optional<JWTIssuerConfig> topLevelIssuer = parseIssuerFromTopLevelConfig(pluginConfig);
diff --git a/solr/core/src/java/org/apache/solr/security/JWTVerificationkeyResolver.java b/solr/core/src/java/org/apache/solr/security/JWTVerificationkeyResolver.java
index 1c7f6dd..dbebe37 100644
--- a/solr/core/src/java/org/apache/solr/security/JWTVerificationkeyResolver.java
+++ b/solr/core/src/java/org/apache/solr/security/JWTVerificationkeyResolver.java
@@ -21,6 +21,7 @@ import java.lang.invoke.MethodHandles;
import java.security.Key;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -59,7 +60,7 @@ public class JWTVerificationkeyResolver implements VerificationKeyResolver {
private final VerificationJwkSelector verificationJwkSelector = new VerificationJwkSelector();
- private Map<String, JWTIssuerConfig> issuerConfigs = new ConcurrentHashMap<>();
+ private Map<String, JWTIssuerConfig> issuerConfigs = Collections.synchronizedMap(new HashMap<>());
private final boolean requireIssuer;
/**
@@ -70,9 +71,7 @@ public class JWTVerificationkeyResolver implements VerificationKeyResolver {
public JWTVerificationkeyResolver(Collection<JWTIssuerConfig> issuerConfigs, boolean requireIssuer) {
this.requireIssuer = requireIssuer;
issuerConfigs.forEach(ic -> {
- if (ic.getIss() != null && ic != null) {
- this.issuerConfigs.put(ic.getIss(), ic);
- }
+ this.issuerConfigs.put(ic.getIss(), ic);
});
}
diff --git a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
index 7b04c95..58d5488 100644
--- a/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
+++ b/solr/core/src/test/org/apache/solr/security/JWTAuthPluginTest.java
@@ -80,6 +80,7 @@ public class JWTAuthPluginTest extends SolrTestCaseJ4 {
@BeforeClass
public static void beforeAll() throws Exception {
+ System.setProperty("solr.disablePublicKeyHandler", "false");
JwtClaims claims = generateClaims();
JsonWebSignature jws = new JsonWebSignature();
jws.setPayload(claims.toJson());