diff --git a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryOptions.java b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryOptions.java index 8ac4c622a91c..88821417967f 100644 --- a/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryOptions.java +++ b/java-bigquery/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/BigQueryOptions.java @@ -213,6 +213,11 @@ public static HttpTransportOptions getDefaultHttpTransportOptions() { return HttpTransportOptions.newBuilder().setReadTimeout(DEFAULT_READ_API_TIME_OUT).build(); } + @Override + protected boolean useSelfSignedJwt() { + return false; + } + @Override protected Set getScopes() { return SCOPES; diff --git a/sdk-platform-java/java-core/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java b/sdk-platform-java/java-core/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java index 92aaa9d6a9e1..4cd8e1ca7535 100644 --- a/sdk-platform-java/java-core/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java +++ b/sdk-platform-java/java-core/google-cloud-core/src/main/java/com/google/cloud/ServiceOptions.java @@ -650,9 +650,17 @@ public Credentials getScopedCredentials() { && ((GoogleCredentials) credentials).createScopedRequired()) { credentialsToReturn = ((GoogleCredentials) credentials).createScoped(getScopes()); } + if (useSelfSignedJwt() && credentialsToReturn instanceof ServiceAccountCredentials) { + credentialsToReturn = + ((ServiceAccountCredentials) credentialsToReturn).createWithUseJwtAccessWithScope(true); + } return credentialsToReturn; } + protected boolean useSelfSignedJwt() { + return true; + } + /** Returns configuration parameters for request retries. */ public RetrySettings getRetrySettings() { return retrySettings;