|
|
|
@ -55,24 +55,24 @@ func ApplyRoute(ctx context.Context, req *http.Request, proxyPath string, route |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// if route.JwtTokenAuth != nil && len(ds.SecureJsonData["privateKey"]) != 0 {
|
|
|
|
|
// if token, err := tokenProvider.getJwtAccessToken(ctx, data); err != nil {
|
|
|
|
|
// logger.Error("Failed to get access token", "error", err)
|
|
|
|
|
// } else {
|
|
|
|
|
// req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token))
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if ds.Type == "stackdriver" { |
|
|
|
|
defaultCredentials, err := google.FindDefaultCredentials(ctx, route.JwtTokenAuth.Scopes...) |
|
|
|
|
gceAutoAuthentication := ds.JsonData.Get("gceAutomaticAuthentication").MustBool() |
|
|
|
|
if route.JwtTokenAuth != nil && !gceAutoAuthentication { |
|
|
|
|
if token, err := tokenProvider.getJwtAccessToken(ctx, data); err != nil { |
|
|
|
|
logger.Error("Failed to get access token", "error", err) |
|
|
|
|
} else { |
|
|
|
|
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if gceAutoAuthentication { |
|
|
|
|
tokenSrc, err := google.DefaultTokenSource(ctx, route.JwtTokenAuth.Scopes...) |
|
|
|
|
if err != nil { |
|
|
|
|
logger.Error("Failed to get default credentials", "error", err) |
|
|
|
|
} else { |
|
|
|
|
token, err := defaultCredentials.TokenSource.Token() |
|
|
|
|
token, err := tokenSrc.Token() |
|
|
|
|
if err != nil { |
|
|
|
|
logger.Error("Failed to get default access token", "error", err) |
|
|
|
|
} else { |
|
|
|
|
ds.JsonData.Set("defaultProject", defaultCredentials.ProjectID) |
|
|
|
|
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token.AccessToken)) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|