Skip to content

Commit a7985aa

Browse files
authored
auth: Avoid com.auth0:java-jwt dependency in test (#6180)
1 parent d268d88 commit a7985aa

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

auth/build.gradle

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ dependencies {
33
compile project(':grpc-api'),
44
libraries.google_auth_credentials
55
testCompile project(':grpc-testing'),
6-
libraries.google_auth_oauth2_http,
7-
libraries.jwt
6+
libraries.google_auth_oauth2_http
87
signature "org.codehaus.mojo.signature:java17:1.0@signature"
98
signature "net.sf.androidscents.signature:android-api-level-14:4.0_r4@signature"
109
}

auth/src/test/java/io/grpc/auth/GoogleAuthLibraryCallCredentialsTest.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
import static org.mockito.Mockito.verify;
2929
import static org.mockito.Mockito.when;
3030

31-
import com.auth0.jwt.JWT;
32-
import com.auth0.jwt.interfaces.DecodedJWT;
3331
import com.google.auth.Credentials;
3432
import com.google.auth.RequestMetadataCallback;
3533
import com.google.auth.oauth2.AccessToken;
@@ -40,13 +38,15 @@
4038
import com.google.common.collect.LinkedListMultimap;
4139
import com.google.common.collect.ListMultimap;
4240
import com.google.common.collect.Multimaps;
41+
import com.google.common.io.BaseEncoding;
4342
import io.grpc.Attributes;
4443
import io.grpc.CallCredentials;
4544
import io.grpc.CallCredentials.MetadataApplier;
4645
import io.grpc.Metadata;
4746
import io.grpc.MethodDescriptor;
4847
import io.grpc.SecurityLevel;
4948
import io.grpc.Status;
49+
import io.grpc.internal.JsonParser;
5050
import io.grpc.testing.TestMethodDescriptors;
5151
import java.io.IOException;
5252
import java.net.URI;
@@ -408,13 +408,16 @@ public void jwtAccessCredentialsInRequestMetadata() throws Exception {
408408
verify(applier).apply(headersCaptor.capture());
409409
Metadata headers = headersCaptor.getValue();
410410
String token =
411-
Iterables.getOnlyElement(headers.getAll(AUTHORIZATION)).substring("Bearer".length());
412-
DecodedJWT decoded = JWT.decode(token);
413-
assertEquals("test-private-key-id", decoded.getKeyId());
414-
assertEquals("https://example.com:123/a.service",
415-
Iterables.getOnlyElement(decoded.getAudience()));
416-
assertEquals("test-email@example.com", decoded.getIssuer());
417-
assertEquals("test-email@example.com", decoded.getSubject());
411+
Iterables.getOnlyElement(headers.getAll(AUTHORIZATION)).substring("Bearer ".length());
412+
String[] parts = token.split("\\.", 3);
413+
String jsonHeader = new String(BaseEncoding.base64Url().decode(parts[0]), US_ASCII);
414+
String jsonPayload = new String(BaseEncoding.base64Url().decode(parts[1]), US_ASCII);
415+
Map<?, ?> header = (Map<?, ?>) JsonParser.parse(jsonHeader);
416+
assertEquals("test-private-key-id", header.get("kid"));
417+
Map<?, ?> payload = (Map<?, ?>) JsonParser.parse(jsonPayload);
418+
assertEquals("https://example.com:123/a.service", payload.get("aud"));
419+
assertEquals("test-email@example.com", payload.get("iss"));
420+
assertEquals("test-email@example.com", payload.get("sub"));
418421
}
419422

420423
private int runPendingRunnables() {

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ subprojects {
191191
hpack: 'com.twitter:hpack:0.10.1',
192192
javax_annotation: 'javax.annotation:javax.annotation-api:1.2',
193193
jsr305: 'com.google.code.findbugs:jsr305:3.0.2',
194-
jwt: 'com.auth0:java-jwt:3.8.2',
195194
google_api_protos: 'com.google.api.grpc:proto-google-common-protos:1.12.0',
196195
google_auth_credentials: "com.google.auth:google-auth-library-credentials:${googleauthVersion}",
197196
google_auth_oauth2_http: "com.google.auth:google-auth-library-oauth2-http:${googleauthVersion}",

0 commit comments

Comments
 (0)