google: add JSON field to DefaultCredentials

Change-Id: I9cde8eabf4a2cb87db74f7b805045e155fd4ef13
Reviewed-on: https://go-review.googlesource.com/51111
Reviewed-by: Jaana Burcu Dogan <jbd@google.com>
diff --git a/google/default.go b/google/default.go
index 004ed4e..b4b6274 100644
--- a/google/default.go
+++ b/google/default.go
@@ -24,6 +24,12 @@
 type DefaultCredentials struct {
 	ProjectID   string // may be empty
 	TokenSource oauth2.TokenSource
+
+	// JSON contains the raw bytes from a JSON credentials file.
+	// This field may be nil if authentication is provided by the
+	// environment and not with a credentials file, e.g. when code is
+	// running on Google Cloud Platform.
+	JSON []byte
 }
 
 // DefaultClient returns an HTTP Client that uses the
@@ -126,5 +132,6 @@
 	return &DefaultCredentials{
 		ProjectID:   f.ProjectID,
 		TokenSource: ts,
+		JSON:        b,
 	}, nil
 }