Skip to content

Commit a6d8f05

Browse files
Update OIDC and JWT dependencies (#96862) (#96915)
Updates internal dependencies for OIDC and JWT realms. Co-authored-by: Elastic Machine <[email protected]>
1 parent 1fceab9 commit a6d8f05

File tree

3 files changed

+29
-6
lines changed

3 files changed

+29
-6
lines changed

gradle/verification-metadata.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -796,9 +796,14 @@
796796
<sha256 value="7664cf8c6f2adadf600287812b32878277beda54912eab9d4c2932cd50cb704a" origin="Generated by Gradle"/>
797797
</artifact>
798798
</component>
799-
<component group="com.nimbusds" name="oauth2-oidc-sdk" version="9.3.1">
800-
<artifact name="oauth2-oidc-sdk-9.3.1.jar">
801-
<sha256 value="6ebf20268af33b31fc21486a59571b03013940a5e051cb4925d08c2c1e6e017c" origin="Generated by Gradle"/>
799+
<component group="com.nimbusds" name="nimbus-jose-jwt" version="9.23">
800+
<artifact name="nimbus-jose-jwt-9.23.jar">
801+
<sha256 value="33ab8084fdae1d75be1b061b1489d4a12045bd7b50c2e24ff152911e4551ec07" origin="Generated by Gradle"/>
802+
</artifact>
803+
</component>
804+
<component group="com.nimbusds" name="oauth2-oidc-sdk" version="9.37">
805+
<artifact name="oauth2-oidc-sdk-9.37.jar">
806+
<sha256 value="44a04bbed5ae3f6d198aa73ee6b545c476e528ec1a267ef3e9f7033f886dd6fe" origin="Generated by Gradle"/>
802807
</artifact>
803808
</component>
804809
<component group="com.perforce" name="p4java" version="2015.2.1365273">

x-pack/plugin/security/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ dependencies {
6868
runtimeOnly "joda-time:joda-time:2.10.10"
6969

7070
// Dependencies for oidc
71-
api "com.nimbusds:oauth2-oidc-sdk:9.3.1"
72-
api "com.nimbusds:nimbus-jose-jwt:9.8.1"
71+
api "com.nimbusds:oauth2-oidc-sdk:9.37"
72+
api "com.nimbusds:nimbus-jose-jwt:9.23"
7373
api "com.nimbusds:lang-tag:1.4.4"
7474
api "com.sun.mail:jakarta.mail:1.6.3"
7575
api "net.jcip:jcip-annotations:1.0"
@@ -92,7 +92,7 @@ dependencies {
9292
testImplementation('org.apache.kerby:kerb-crypto:1.1.1')
9393
testImplementation('org.apache.kerby:kerb-util:1.1.1')
9494
testImplementation('org.apache.kerby:token-provider:1.1.1')
95-
testImplementation('com.nimbusds:nimbus-jose-jwt:9.8.1')
95+
testImplementation('com.nimbusds:nimbus-jose-jwt:9.23')
9696
testImplementation('net.jcip:jcip-annotations:1.0')
9797
testImplementation('org.apache.kerby:kerb-admin:1.1.1')
9898
testImplementation('org.apache.kerby:kerb-server:1.1.1')
@@ -410,6 +410,7 @@ tasks.named("thirdPartyAudit").configure {
410410
'com.google.crypto.tink.subtle.Ed25519Sign$KeyPair',
411411
'com.google.crypto.tink.subtle.Ed25519Verify',
412412
'com.google.crypto.tink.subtle.X25519',
413+
'com.google.crypto.tink.subtle.XChaCha20Poly1305',
413414
'com.nimbusds.common.contenttype.ContentType',
414415
'javax.activation.ActivationDataFlavor',
415416
'javax.activation.DataContentHandler',

x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/oidc/OpenIdConnectTestCase.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
import com.nimbusds.jose.JWSAlgorithm;
1010
import com.nimbusds.jose.JWSHeader;
1111
import com.nimbusds.jose.crypto.RSASSASigner;
12+
import com.nimbusds.jose.shaded.json.JSONStyle;
13+
import com.nimbusds.jose.shaded.json.JSONValue;
14+
import com.nimbusds.jose.shaded.json.reader.JsonWriterI;
1215
import com.nimbusds.jwt.JWT;
1316
import com.nimbusds.jwt.JWTClaimsSet;
1417
import com.nimbusds.jwt.SignedJWT;
@@ -23,6 +26,7 @@
2326
import org.elasticsearch.xpack.core.security.authc.RealmConfig;
2427
import org.elasticsearch.xpack.core.security.authc.RealmSettings;
2528
import org.elasticsearch.xpack.core.security.authc.oidc.OpenIdConnectRealmSettings;
29+
import org.junit.BeforeClass;
2630

2731
import java.io.IOException;
2832
import java.nio.file.Files;
@@ -37,6 +41,19 @@
3741

3842
public abstract class OpenIdConnectTestCase extends ESTestCase {
3943

44+
@BeforeClass
45+
public static void setupWriters() {
46+
// In test code, we sometimes create claims sets with claims that use the `Nonce` class; therefore, we register a writer
47+
// for them here; otherwise json-smart tries to use reflection which our security manage prohibits
48+
// This only applies to test, not prod code, since we don't create claim sets with "non-default" classes
49+
JSONValue.registerWriter(Nonce.class, new JsonWriterI<Nonce>() {
50+
@Override
51+
public <E extends Nonce> void writeJSONString(E e, Appendable appendable, JSONStyle jsonStyle) throws IOException {
52+
appendable.append(e.toJSONString());
53+
}
54+
});
55+
}
56+
4057
protected static final String REALM_NAME = "oidc-realm";
4158

4259
protected static Settings.Builder getBasicRealmSettings() {

0 commit comments

Comments
 (0)