backend/remote-state/gcs: Read credentials with ioutil.ReadFile().
We never expect the raw JSON to appear in the config, so pathorcontents is not the right package here.
This commit is contained in:
parent
c00e929ee5
commit
816c98f387
|
@ -4,11 +4,11 @@ package gcs
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"cloud.google.com/go/storage"
|
"cloud.google.com/go/storage"
|
||||||
"github.com/hashicorp/terraform/backend"
|
"github.com/hashicorp/terraform/backend"
|
||||||
"github.com/hashicorp/terraform/helper/pathorcontents"
|
|
||||||
"github.com/hashicorp/terraform/helper/schema"
|
"github.com/hashicorp/terraform/helper/schema"
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
"golang.org/x/oauth2/google"
|
"golang.org/x/oauth2/google"
|
||||||
|
@ -86,12 +86,13 @@ func (b *gcsBackend) configure(ctx context.Context) error {
|
||||||
var tokenSource oauth2.TokenSource
|
var tokenSource oauth2.TokenSource
|
||||||
|
|
||||||
if credentials := data.Get("credentials").(string); credentials != "" {
|
if credentials := data.Get("credentials").(string); credentials != "" {
|
||||||
credentialsJson, _, err := pathorcontents.Read(data.Get("credentials").(string))
|
path := data.Get("credentials").(string)
|
||||||
|
json, err := ioutil.ReadFile(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Error loading credentials: %v", err)
|
return fmt.Errorf("reading %q: %v", path, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
jwtConfig, err := google.JWTConfigFromJSON([]byte(credentialsJson), storage.ScopeReadWrite)
|
jwtConfig, err := google.JWTConfigFromJSON([]byte(json), storage.ScopeReadWrite)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("Failed to get Google OAuth2 token: %v", err)
|
return fmt.Errorf("Failed to get Google OAuth2 token: %v", err)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue