From f6bebb156cb9c9fc25ef16281d845e921e8aa426 Mon Sep 17 00:00:00 2001 From: Shin Fan Date: Wed, 23 Jun 2021 14:54:46 -0700 Subject: [PATCH] gapic: support EnableJwtWithScope for gRPC GAPIC clients (#674) - Update the GAPIC clients to allow scope for self-signed JWT - The self-signed JWT is now the default authentication method for service account instead of OAuth 2.0 - Self-signed JWT AIP: https://google.aip.dev/auth/4111 - Related PRs: - https://github.com/googleapis/google-api-go-client/pull/1075 - https://github.com/golang/oauth2/pull/504 - https://github.com/aip-dev/google.aip.dev/pull/764 --- internal/gengapic/gengrpc.go | 1 + internal/gengapic/testdata/empty_opt.want | 1 + internal/gengapic/testdata/foo_opt.want | 1 + internal/gengapic/testdata/host_port_opt.want | 1 + internal/gengapic/testdata/iam_override_opt.want | 1 + showcase/go.mod | 2 +- 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/gengapic/gengrpc.go b/internal/gengapic/gengrpc.go index 85ecc024..91d14a70 100644 --- a/internal/gengapic/gengrpc.go +++ b/internal/gengapic/gengrpc.go @@ -198,6 +198,7 @@ func (g *generator) grpcClientOptions(serv *descriptor.ServiceDescriptorProto, s p(" internaloption.WithDefaultMTLSEndpoint(%q),", generateDefaultMTLSEndpoint(host)) p(" internaloption.WithDefaultAudience(%q),", generateDefaultAudience(host)) p(" internaloption.WithDefaultScopes(DefaultAuthScopes()...),") + p(" internaloption.EnableJwtWithScope(),") p(" option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),") p(" option.WithGRPCDialOption(grpc.WithDefaultCallOptions(") p(" grpc.MaxCallRecvMsgSize(math.MaxInt32))),") diff --git a/internal/gengapic/testdata/empty_opt.want b/internal/gengapic/testdata/empty_opt.want index 59835a8b..45ae194f 100644 --- a/internal/gengapic/testdata/empty_opt.want +++ b/internal/gengapic/testdata/empty_opt.want @@ -21,6 +21,7 @@ func defaultGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultMTLSEndpoint("foo.mtls.googleapis.com:443"), internaloption.WithDefaultAudience("https://foo.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), option.WithGRPCDialOption(grpc.WithDisableServiceConfig()), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), diff --git a/internal/gengapic/testdata/foo_opt.want b/internal/gengapic/testdata/foo_opt.want index 1ccdd4ab..bff1f4fc 100644 --- a/internal/gengapic/testdata/foo_opt.want +++ b/internal/gengapic/testdata/foo_opt.want @@ -21,6 +21,7 @@ func defaultFooGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultMTLSEndpoint("foo.mtls.googleapis.com:443"), internaloption.WithDefaultAudience("https://foo.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), option.WithGRPCDialOption(grpc.WithDisableServiceConfig()), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), diff --git a/internal/gengapic/testdata/host_port_opt.want b/internal/gengapic/testdata/host_port_opt.want index 74a82e80..6776db3b 100644 --- a/internal/gengapic/testdata/host_port_opt.want +++ b/internal/gengapic/testdata/host_port_opt.want @@ -19,6 +19,7 @@ func defaultBarGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultMTLSEndpoint("foo.mtls.googleapis.com:1234"), internaloption.WithDefaultAudience("https://foo.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), option.WithGRPCDialOption(grpc.WithDisableServiceConfig()), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), diff --git a/internal/gengapic/testdata/iam_override_opt.want b/internal/gengapic/testdata/iam_override_opt.want index afe24e26..16554cb2 100644 --- a/internal/gengapic/testdata/iam_override_opt.want +++ b/internal/gengapic/testdata/iam_override_opt.want @@ -18,6 +18,7 @@ func defaultBazGRPCClientOptions() []option.ClientOption { internaloption.WithDefaultMTLSEndpoint("foo.mtls.googleapis.com:1234"), internaloption.WithDefaultAudience("https://foo.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), + internaloption.EnableJwtWithScope(), option.WithGRPCDialOption(grpc.WithDisableServiceConfig()), option.WithGRPCDialOption(grpc.WithDefaultCallOptions( grpc.MaxCallRecvMsgSize(math.MaxInt32))), diff --git a/showcase/go.mod b/showcase/go.mod index 37bb6652..c052708a 100644 --- a/showcase/go.mod +++ b/showcase/go.mod @@ -6,7 +6,7 @@ require ( github.com/google/go-cmp v0.5.5 github.com/googleapis/gapic-showcase v0.15.0 github.com/googleapis/gax-go/v2 v2.0.5 - google.golang.org/api v0.46.0 + google.golang.org/api v0.49.0 google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2 google.golang.org/grpc v1.37.0 google.golang.org/protobuf v1.26.0