Skip to content

Commit 81df6d6

Browse files
Adjust changes from Trino 3c687c3 for Presto
1 parent 435146b commit 81df6d6

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

presto-main/src/main/java/com/facebook/presto/server/security/oauth2/JweTokenSerializer.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,17 @@ public JweTokenSerializer(
9999
private JWEHeader createEncryptionHeader(SecretKey key)
100100
{
101101
int keyLength = key.getEncoded().length;
102-
return switch (keyLength) {
103-
case 16 -> new JWEHeader(JWEAlgorithm.A128GCMKW, EncryptionMethod.A128GCM);
104-
case 24 -> new JWEHeader(JWEAlgorithm.A192GCMKW, EncryptionMethod.A192GCM);
105-
case 32 -> new JWEHeader(JWEAlgorithm.A256GCMKW, EncryptionMethod.A256GCM);
106-
default -> throw new IllegalArgumentException("Secret key size must be either 16, 24 or 32 bytes but was %d".formatted(keyLength));
107-
};
102+
switch (keyLength) {
103+
case 16:
104+
return new JWEHeader(JWEAlgorithm.A128GCMKW, EncryptionMethod.A128GCM);
105+
case 24:
106+
return new JWEHeader(JWEAlgorithm.A192GCMKW, EncryptionMethod.A192GCM);
107+
case 32:
108+
return new JWEHeader(JWEAlgorithm.A256GCMKW, EncryptionMethod.A256GCM);
109+
default:
110+
throw new IllegalArgumentException(
111+
String.format("Secret key size must be either 16, 24 or 32 bytes but was %d", keyLength));
112+
}
108113
}
109114

110115
@Override

presto-main/src/test/java/com/facebook/presto/server/security/oauth2/TestJweTokenSerializer.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import static java.util.concurrent.TimeUnit.SECONDS;
4545
import static org.assertj.core.api.Assertions.assertThat;
4646
import static org.assertj.core.api.Assertions.assertThatThrownBy;
47+
import static org.testng.Assert.assertEquals;
4748

4849
public class TestJweTokenSerializer
4950
{
@@ -99,7 +100,7 @@ public void testSerializationFailsWithWrongKeySize()
99100
for (int wrongKeySize : new int[] {8, 64, 128}) {
100101
String tooShortSecret = randomEncodedSecret(wrongKeySize);
101102
assertThatThrownBy(() -> assertRoundTrip(tooShortSecret, tooShortSecret))
102-
.hasStackTraceContaining("Secret key size must be either 16, 24 or 32 bytes but was " + wrongKeySize);
103+
.hasStackTraceContaining("The Key Encryption Key length must be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes)");
103104
}
104105
}
105106

@@ -116,8 +117,10 @@ private void assertRoundTrip(Optional<String> serializerSecret, Optional<String>
116117
JweTokenSerializer deserializer = tokenSerializer(Clock.systemUTC(), succinctDuration(5, SECONDS), deserializerSecret);
117118
Date expiration = new Calendar.Builder().setDate(2023, 6, 22).build().getTime();
118119
TokenPair tokenPair = withAccessAndRefreshTokens(randomEncodedSecret(), expiration, randomEncodedSecret());
119-
assertThat(deserializer.deserialize(serializer.serialize(tokenPair)))
120-
.isEqualTo(tokenPair);
120+
TokenPair postSerPair = deserializer.deserialize(serializer.serialize(tokenPair));
121+
assertEquals(tokenPair.getAccessToken(), postSerPair.getAccessToken());
122+
assertEquals(tokenPair.getRefreshToken(), postSerPair.getRefreshToken());
123+
assertEquals(tokenPair.getExpiration(), postSerPair.getExpiration());
121124
}
122125

123126
@Test
@@ -184,8 +187,8 @@ private JweTokenSerializer tokenSerializer(Clock clock, Duration tokenExpiration
184187
return new JweTokenSerializer(
185188
refreshTokensConfig,
186189
new Oauth2ClientStub(),
187-
"trino_coordinator_test_version",
188-
"trino_coordinator",
190+
"presto_coordinator_test_version",
191+
"presto_coordinator",
189192
"sub",
190193
clock,
191194
tokenExpiration);

0 commit comments

Comments
 (0)