diff options
Diffstat (limited to 'dashboard/cmd/upload/upload.go')
-rw-r--r-- | dashboard/cmd/upload/upload.go | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/dashboard/cmd/upload/upload.go b/dashboard/cmd/upload/upload.go index 880b879..087be49 100644 --- a/dashboard/cmd/upload/upload.go +++ b/dashboard/cmd/upload/upload.go @@ -15,15 +15,13 @@ import ( "flag" "fmt" "io" - "io/ioutil" "log" "net/http" "os" - "path/filepath" "strings" "golang.org/x/oauth2" - "golang.org/x/oauth2/google" + "golang.org/x/tools/dashboard/auth" "google.golang.org/cloud" "google.golang.org/cloud/storage" ) @@ -111,18 +109,9 @@ var bucketProject = map[string]string{ } func tokenSource(bucket string) (oauth2.TokenSource, error) { - proj := bucketProject[bucket] - fileName := filepath.Join(os.Getenv("HOME"), "keys", proj+".key.json") - jsonConf, err := ioutil.ReadFile(fileName) - if err != nil { - if os.IsNotExist(err) { - return nil, fmt.Errorf("Missing JSON key configuration. Download the Service Account JSON key from https://console.developers.google.com/project/%s/apiui/credential and place it at %s", proj, fileName) - } - return nil, err - } - conf, err := google.JWTConfigFromJSON(jsonConf, storage.ScopeReadWrite) - if err != nil { - return nil, fmt.Errorf("reading JSON config from %s: %v", fileName, err) + proj, ok := bucketProject[bucket] + if !ok { + return nil, fmt.Errorf("unknown project for bucket %q", bucket) } - return conf.TokenSource(oauth2.NoContext), nil + return auth.ProjectTokenSource(proj, storage.ScopeReadWrite) } |