Skip to content

Commit aba0ec0

Browse files
feat: enable self signed JWT for http (#850)
1 parent 3f0bf5a commit aba0ec0

File tree

5 files changed

+19
-49
lines changed

5 files changed

+19
-49
lines changed

src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,16 @@ protected MethodDefinition createDefaultCredentialsProviderBuilderMethod() {
215215
.setArguments(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
216216
.setReturnType(returnType)
217217
.build();
218+
// enable self signed JWT.
219+
credsProviderBuilderExpr =
220+
MethodInvocationExpr.builder()
221+
.setExprReferenceExpr(credsProviderBuilderExpr)
222+
.setMethodName("setUseJwtAccessWithScope")
223+
.setArguments(
224+
ValueExpr.withValue(
225+
PrimitiveValue.builder().setType(TypeNode.BOOLEAN).setValue("true").build()))
226+
.setReturnType(returnType)
227+
.build();
218228
return MethodDefinition.builder()
219229
.setHeaderCommentStatements(
220230
SettingsCommentComposer.DEFAULT_CREDENTIALS_PROVIDER_BUILDER_METHOD_COMMENT)

src/main/java/com/google/api/generator/gapic/composer/grpc/ServiceStubSettingsClassComposer.java

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,16 @@
1414

1515
package com.google.api.generator.gapic.composer.grpc;
1616

17-
import com.google.api.gax.core.GoogleCredentialsProvider;
1817
import com.google.api.gax.grpc.GaxGrpcProperties;
1918
import com.google.api.gax.grpc.GrpcTransportChannel;
2019
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
21-
import com.google.api.generator.engine.ast.ConcreteReference;
2220
import com.google.api.generator.engine.ast.Expr;
2321
import com.google.api.generator.engine.ast.MethodDefinition;
2422
import com.google.api.generator.engine.ast.MethodInvocationExpr;
25-
import com.google.api.generator.engine.ast.PrimitiveValue;
2623
import com.google.api.generator.engine.ast.ScopeNode;
2724
import com.google.api.generator.engine.ast.TypeNode;
28-
import com.google.api.generator.engine.ast.ValueExpr;
2925
import com.google.api.generator.engine.ast.Variable;
3026
import com.google.api.generator.engine.ast.VariableExpr;
31-
import com.google.api.generator.gapic.composer.comment.SettingsCommentComposer;
3227
import com.google.api.generator.gapic.composer.common.AbstractServiceStubSettingsClassComposer;
3328
import com.google.api.generator.gapic.composer.store.TypeStore;
3429
import com.google.api.generator.gapic.model.Service;
@@ -74,47 +69,6 @@ protected Expr initializeTransportProviderBuilder(
7469
.build();
7570
}
7671

77-
@Override
78-
protected MethodDefinition createDefaultCredentialsProviderBuilderMethod() {
79-
TypeNode returnType =
80-
TypeNode.withReference(
81-
ConcreteReference.withClazz(GoogleCredentialsProvider.Builder.class));
82-
MethodInvocationExpr credsProviderBuilderExpr =
83-
MethodInvocationExpr.builder()
84-
.setStaticReferenceType(FIXED_TYPESTORE.get("GoogleCredentialsProvider"))
85-
.setMethodName("newBuilder")
86-
.build();
87-
credsProviderBuilderExpr =
88-
MethodInvocationExpr.builder()
89-
.setExprReferenceExpr(credsProviderBuilderExpr)
90-
.setMethodName("setScopesToApply")
91-
.setArguments(DEFAULT_SERVICE_SCOPES_VAR_EXPR)
92-
.setReturnType(returnType)
93-
.build();
94-
95-
// This section is specific to GAPIC clients. It sets UseJwtAccessWithScope value to true to
96-
// enable self signed JWT feature.
97-
credsProviderBuilderExpr =
98-
MethodInvocationExpr.builder()
99-
.setExprReferenceExpr(credsProviderBuilderExpr)
100-
.setMethodName("setUseJwtAccessWithScope")
101-
.setArguments(
102-
ValueExpr.withValue(
103-
PrimitiveValue.builder().setType(TypeNode.BOOLEAN).setValue("true").build()))
104-
.setReturnType(returnType)
105-
.build();
106-
107-
return MethodDefinition.builder()
108-
.setHeaderCommentStatements(
109-
SettingsCommentComposer.DEFAULT_CREDENTIALS_PROVIDER_BUILDER_METHOD_COMMENT)
110-
.setScope(ScopeNode.PUBLIC)
111-
.setIsStatic(true)
112-
.setReturnType(returnType)
113-
.setName("defaultCredentialsProviderBuilder")
114-
.setReturnExpr(credsProviderBuilderExpr)
115-
.build();
116-
}
117-
11872
@Override
11973
protected List<MethodDefinition> createApiClientHeaderProviderBuilderMethods(
12074
Service service, TypeStore typeStore) {

src/test/java/com/google/api/generator/gapic/composer/rest/goldens/ComplianceStubSettings.golden

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ public class ComplianceStubSettings extends StubSettings<ComplianceStubSettings>
135135

136136
/** Returns a builder for the default credentials for this service. */
137137
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
138-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
138+
return GoogleCredentialsProvider.newBuilder()
139+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
140+
.setUseJwtAccessWithScope(true);
139141
}
140142

141143
/** Returns a builder for the default ChannelProvider for this service. */

test/integration/goldens/compute/com/google/cloud/compute/v1/stub/AddressesStubSettings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,9 @@ public static List<String> getDefaultServiceScopes() {
287287

288288
/** Returns a builder for the default credentials for this service. */
289289
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
290-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
290+
return GoogleCredentialsProvider.newBuilder()
291+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
292+
.setUseJwtAccessWithScope(true);
291293
}
292294

293295
/** Returns a builder for the default ChannelProvider for this service. */

test/integration/goldens/compute/com/google/cloud/compute/v1/stub/RegionOperationsStubSettings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,9 @@ public static List<String> getDefaultServiceScopes() {
125125

126126
/** Returns a builder for the default credentials for this service. */
127127
public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() {
128-
return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES);
128+
return GoogleCredentialsProvider.newBuilder()
129+
.setScopesToApply(DEFAULT_SERVICE_SCOPES)
130+
.setUseJwtAccessWithScope(true);
129131
}
130132

131133
/** Returns a builder for the default ChannelProvider for this service. */

0 commit comments

Comments
 (0)