From fa51ed9b7816f7dabd1f3cba933ced4a0edb85df Mon Sep 17 00:00:00 2001 From: Modular Magician Date: Wed, 11 Jan 2023 23:13:51 +0000 Subject: [PATCH] Revert "Do not set header X-Goog-User-Project header for the resource google_client_openid_userinfo (#6954)" (#7112) This reverts commit 3411c65d4290095d257b82591c06ee0d63460fa7. Signed-off-by: Modular Magician --- .changelog/7112.txt | 3 +++ google-beta/transport.go | 4 +--- google-beta/utils.go | 8 -------- 3 files changed, 4 insertions(+), 11 deletions(-) create mode 100644 .changelog/7112.txt diff --git a/.changelog/7112.txt b/.changelog/7112.txt new file mode 100644 index 0000000000..acb231fcd1 --- /dev/null +++ b/.changelog/7112.txt @@ -0,0 +1,3 @@ +```release-note:none + +``` diff --git a/google-beta/transport.go b/google-beta/transport.go index de20f72108..f009a70667 100644 --- a/google-beta/transport.go +++ b/google-beta/transport.go @@ -48,9 +48,7 @@ func sendRequestWithTimeout(config *Config, method, project, rawurl, userAgent s reqHeaders.Set("User-Agent", userAgent) reqHeaders.Set("Content-Type", "application/json") - if !config.UserProjectOverride { - reqHeaders.Set("X-Goog-User-Project", "") - } else if config.UserProjectOverride && project != "" { + if config.UserProjectOverride && project != "" { // Pass the project into this fn instead of parsing it from the URL because // both project names and URLs can have colons in them. reqHeaders.Set("X-Goog-User-Project", project) diff --git a/google-beta/utils.go b/google-beta/utils.go index 7794a6a7f0..14d92b562f 100644 --- a/google-beta/utils.go +++ b/google-beta/utils.go @@ -514,17 +514,9 @@ func multiEnvSearch(ks []string) string { } func GetCurrentUserEmail(config *Config, userAgent string) (string, error) { - // When environment variables UserProjectOverride and BillingProject are set for the provider, the header X-Goog-User-Project is set for the API requests. - // But it causes an error when calling GetCurrentUserEmail. It makes sense to not set header X-Goog-User-Project by setting UserProjectOverride - // to false when calling GetCurrentUserEmail, because it does not create a bill. - origUserProjectOverride := config.UserProjectOverride - config.UserProjectOverride = false - // See https://github.com/golang/oauth2/issues/306 for a recommendation to do this from a Go maintainer // URL retrieved from https://accounts.google.com/.well-known/openid-configuration res, err := sendRequest(config, "GET", "", "https://openidconnect.googleapis.com/v1/userinfo", userAgent, nil) - config.UserProjectOverride = origUserProjectOverride - if err != nil { return "", fmt.Errorf("error retrieving userinfo for your provider credentials. have you enabled the 'https://www.googleapis.com/auth/userinfo.email' scope? error: %s", err) }