diff --git a/resolver_conn_wrapper.go b/resolver_conn_wrapper.go index b4f2a5714c84..81bfa636f5a6 100644 --- a/resolver_conn_wrapper.go +++ b/resolver_conn_wrapper.go @@ -26,6 +26,7 @@ import ( "google.golang.org/grpc/backoff" "google.golang.org/grpc/balancer" + "google.golang.org/grpc/credentials" "google.golang.org/grpc/grpclog" "google.golang.org/grpc/internal/channelz" "google.golang.org/grpc/internal/grpcsync" @@ -92,8 +93,19 @@ func newCCResolverWrapper(cc *ClientConn) (*ccResolverWrapper, error) { done: grpcsync.NewEvent(), } + var credsClone credentials.TransportCredentials + if creds := cc.dopts.copts.TransportCredentials; creds != nil { + credsClone = creds.Clone() + } + rbo := resolver.BuildOption{ + DisableServiceConfig: cc.dopts.disableServiceConfig, + DialCreds: credsClone, + CredsBundle: cc.dopts.copts.CredsBundle, + Dialer: cc.dopts.copts.Dialer, + } + var err error - ccr.resolver, err = rb.Build(cc.parsedTarget, ccr, resolver.BuildOption{DisableServiceConfig: cc.dopts.disableServiceConfig}) + ccr.resolver, err = rb.Build(cc.parsedTarget, ccr, rbo) if err != nil { return nil, err }