From 2b1709b8750dc63bdb90350c81439d9c4c77d2b8 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Tue, 9 Oct 2018 15:23:13 +0200 Subject: [PATCH] stackdriver: only get default token from metadata server when applying route --- pkg/api/pluginproxy/ds_auth_provider.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkg/api/pluginproxy/ds_auth_provider.go b/pkg/api/pluginproxy/ds_auth_provider.go index d3b628b9de4..3b7c6ee5c0f 100644 --- a/pkg/api/pluginproxy/ds_auth_provider.go +++ b/pkg/api/pluginproxy/ds_auth_provider.go @@ -12,6 +12,7 @@ import ( m "github.com/grafana/grafana/pkg/models" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/util" + "golang.org/x/oauth2/google" ) //ApplyRoute should use the plugin route data to set auth headers and custom headers @@ -64,18 +65,16 @@ func ApplyRoute(ctx context.Context, req *http.Request, proxyPath string, route } } - if gceAutoAuthentication { - // tokenSrc, err := google.DefaultTokenSource(ctx, route.JwtTokenAuth.Scopes...) + if gceAutoAuthentication && route.JwtTokenAuth == nil { + tokenSrc, err := google.DefaultTokenSource(ctx, route.JwtTokenAuth.Scopes...) if err != nil { - logger.Error("Failed to get default credentials", "error", err) + logger.Error("Failed to get default token from meta data server", "error", err) } else { - // token, err := tokenSrc.Token() - token, err := tokenProvider.getJwtAccessToken(ctx, data) + token, err := tokenSrc.Token() if err != nil { - logger.Error("Failed to get default access token", "error", err) + logger.Error("Failed to get default access token from meta data server", "error", err) } else { - // req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken)) - req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token)) + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken)) } } }