Skip to content

Commit

Permalink
fix: Update config.go and framework_config.go to use transport.Creds …
Browse files Browse the repository at this point in the history
…for all cases (#7875) (#14550)

Signed-off-by: Modular Magician <[email protected]>
Co-authored-by: Riley Karson <[email protected]>
  • Loading branch information
modular-magician and rileykarson authored May 10, 2023
1 parent 751811a commit 46158c5
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 10 deletions.
3 changes: 3 additions & 0 deletions .changelog/7875.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
Update config.go and framework_config.go to use transport.Creds for all cases
```
8 changes: 3 additions & 5 deletions google/framework_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -1359,7 +1359,7 @@ func GetCredentials(ctx context.Context, data ProviderModel, initialCredentialsO
return *creds
}

creds, err := googleoauth.CredentialsFromJSON(ctx, []byte(contents), clientScopes...)
creds, err := transport.Creds(ctx, option.WithCredentialsJSON([]byte(contents)), option.WithScopes(clientScopes...))
if err != nil {
diags.AddError("unable to parse credentials", err.Error())
return googleoauth.Credentials{}
Expand All @@ -1383,14 +1383,12 @@ func GetCredentials(ctx context.Context, data ProviderModel, initialCredentialsO

tflog.Info(ctx, "Authenticating using DefaultClient...")
tflog.Info(ctx, fmt.Sprintf(" -- Scopes: %s", clientScopes))
defaultTS, err := googleoauth.DefaultTokenSource(context.Background(), clientScopes...)
creds, err := transport.Creds(context.Background(), option.WithScopes(clientScopes...))
if err != nil {
diags.AddError(fmt.Sprintf("Attempted to load application default credentials since neither `credentials` nor `access_token` was set in the provider block. "+
"No credentials loaded. To use your gcloud credentials, run 'gcloud auth application-default login'"), err.Error())
return googleoauth.Credentials{}
}

return googleoauth.Credentials{
TokenSource: defaultTS,
}
return *creds
}
8 changes: 3 additions & 5 deletions google/transport/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -1789,7 +1789,7 @@ func (c *Config) GetCredentials(clientScopes []string, initialCredentialsOnly bo
return *creds, nil
}

creds, err := googleoauth.CredentialsFromJSON(c.Context, []byte(contents), clientScopes...)
creds, err := transport.Creds(c.Context, option.WithCredentialsJSON([]byte(contents)), option.WithScopes(clientScopes...))
if err != nil {
return googleoauth.Credentials{}, fmt.Errorf("unable to parse credentials from '%s': %s", contents, err)
}
Expand All @@ -1811,14 +1811,12 @@ func (c *Config) GetCredentials(clientScopes []string, initialCredentialsOnly bo

log.Printf("[INFO] Authenticating using DefaultClient...")
log.Printf("[INFO] -- Scopes: %s", clientScopes)
defaultTS, err := googleoauth.DefaultTokenSource(context.Background(), clientScopes...)
creds, err := transport.Creds(context.Background(), option.WithScopes(clientScopes...))
if err != nil {
return googleoauth.Credentials{}, fmt.Errorf("Attempted to load application default credentials since neither `credentials` nor `access_token` was set in the provider block. No credentials loaded. To use your gcloud credentials, run 'gcloud auth application-default login'. Original error: %w", err)
}

return googleoauth.Credentials{
TokenSource: defaultTS,
}, err
return *creds, nil
}

// Remove the `/{{version}}/` from a base path if present.
Expand Down

0 comments on commit 46158c5

Please sign in to comment.