Skip to content

Commit

Permalink
auth: Avoid com.auth0:java-jwt dependency in test (#6180)
Browse files Browse the repository at this point in the history
  • Loading branch information
voidzcy committed Sep 24, 2019
1 parent d268d88 commit a7985aa
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
3 changes: 1 addition & 2 deletions auth/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ dependencies {
compile project(':grpc-api'),
libraries.google_auth_credentials
testCompile project(':grpc-testing'),
libraries.google_auth_oauth2_http,
libraries.jwt
libraries.google_auth_oauth2_http
signature "org.codehaus.mojo.signature:java17:1.0@signature"
signature "net.sf.androidscents.signature:android-api-level-14:4.0_r4@signature"
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import com.auth0.jwt.JWT;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.google.auth.Credentials;
import com.google.auth.RequestMetadataCallback;
import com.google.auth.oauth2.AccessToken;
Expand All @@ -40,13 +38,15 @@
import com.google.common.collect.LinkedListMultimap;
import com.google.common.collect.ListMultimap;
import com.google.common.collect.Multimaps;
import com.google.common.io.BaseEncoding;
import io.grpc.Attributes;
import io.grpc.CallCredentials;
import io.grpc.CallCredentials.MetadataApplier;
import io.grpc.Metadata;
import io.grpc.MethodDescriptor;
import io.grpc.SecurityLevel;
import io.grpc.Status;
import io.grpc.internal.JsonParser;
import io.grpc.testing.TestMethodDescriptors;
import java.io.IOException;
import java.net.URI;
Expand Down Expand Up @@ -408,13 +408,16 @@ public void jwtAccessCredentialsInRequestMetadata() throws Exception {
verify(applier).apply(headersCaptor.capture());
Metadata headers = headersCaptor.getValue();
String token =
Iterables.getOnlyElement(headers.getAll(AUTHORIZATION)).substring("Bearer".length());
DecodedJWT decoded = JWT.decode(token);
assertEquals("test-private-key-id", decoded.getKeyId());
assertEquals("https://example.com:123/a.service",
Iterables.getOnlyElement(decoded.getAudience()));
assertEquals("test-email@example.com", decoded.getIssuer());
assertEquals("test-email@example.com", decoded.getSubject());
Iterables.getOnlyElement(headers.getAll(AUTHORIZATION)).substring("Bearer ".length());
String[] parts = token.split("\\.", 3);
String jsonHeader = new String(BaseEncoding.base64Url().decode(parts[0]), US_ASCII);
String jsonPayload = new String(BaseEncoding.base64Url().decode(parts[1]), US_ASCII);
Map<?, ?> header = (Map<?, ?>) JsonParser.parse(jsonHeader);
assertEquals("test-private-key-id", header.get("kid"));
Map<?, ?> payload = (Map<?, ?>) JsonParser.parse(jsonPayload);
assertEquals("https://example.com:123/a.service", payload.get("aud"));
assertEquals("test-email@example.com", payload.get("iss"));
assertEquals("test-email@example.com", payload.get("sub"));
}

private int runPendingRunnables() {
Expand Down
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ subprojects {
hpack: 'com.twitter:hpack:0.10.1',
javax_annotation: 'javax.annotation:javax.annotation-api:1.2',
jsr305: 'com.google.code.findbugs:jsr305:3.0.2',
jwt: 'com.auth0:java-jwt:3.8.2',
google_api_protos: 'com.google.api.grpc:proto-google-common-protos:1.12.0',
google_auth_credentials: "com.google.auth:google-auth-library-credentials:${googleauthVersion}",
google_auth_oauth2_http: "com.google.auth:google-auth-library-oauth2-http:${googleauthVersion}",
Expand Down

0 comments on commit a7985aa

Please sign in to comment.