File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
gax-java/gax-grpc/src/main/java/com/google/api/gax/grpc Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -1200,11 +1200,20 @@ boolean isDirectPathBoundTokenEnabled() {
12001200 CallCredentials createHardBoundTokensCallCredentials (
12011201 ComputeEngineCredentials .GoogleAuthTransport googleAuthTransport ,
12021202 ComputeEngineCredentials .BindingEnforcement bindingEnforcement ) {
1203+ ComputeEngineCredentials .Builder credsBuilder =
1204+ ((ComputeEngineCredentials ) credentials ).toBuilder ();
12031205 // We only set scopes and HTTP transport factory from the original credentials because
1204- // only those are used in gRPC CallCredentials to fetch request metadata.
1206+ // only those are used in gRPC CallCredentials to fetch request metadata. We create a new
1207+ // credential
1208+ // via {@code newBuilder} as opposed to {@code toBuilder} because we don't want a reference to
1209+ // the
1210+ // access token held by {@code credentials}; we want this new credential to fetch a new access
1211+ // token
1212+ // from MDS using the {@param googleAuthTransport} and {@param bindingEnforcement}.
12051213 return MoreCallCredentials .from (
1206- ((ComputeEngineCredentials ) this .credentials )
1207- .toBuilder ()
1214+ ComputeEngineCredentials .newBuilder ()
1215+ .setScopes (credsBuilder .getScopes ())
1216+ .setHttpTransportFactory (credsBuilder .getHttpTransportFactory ())
12081217 .setGoogleAuthTransport (googleAuthTransport )
12091218 .setBindingEnforcement (bindingEnforcement )
12101219 .build ());
You can’t perform that action at this time.
0 commit comments