Skip to content

Commit

Permalink
refactor(auth): move things around and rename (#9621)
Browse files Browse the repository at this point in the history
- rename package internaldetect to creds
- move downscope, idtoken, and impersonate under credentials
  • Loading branch information
codyoss committed Mar 20, 2024
1 parent 2db8671 commit 26c7ce1
Show file tree
Hide file tree
Showing 43 changed files with 121 additions and 121 deletions.
10 changes: 5 additions & 5 deletions auth/credentials/detect.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (

"cloud.google.com/go/auth"
"cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
"cloud.google.com/go/compute/metadata"
)

Expand Down Expand Up @@ -76,13 +76,13 @@ func DetectDefault(opts *DetectOptions) (*auth.Credentials, error) {
if opts.CredentialsJSON != nil {
return readCredentialsFileJSON(opts.CredentialsJSON, opts)
}
if filename := internaldetect.GetFileNameFromEnv(opts.CredentialsFile); filename != "" {
if filename := credsfile.GetFileNameFromEnv(opts.CredentialsFile); filename != "" {
if creds, err := readCredentialsFile(filename, opts); err == nil {
return creds, err
}
}

fileName := internaldetect.GetWellKnownFileName()
fileName := credsfile.GetWellKnownFileName()
if b, err := os.ReadFile(fileName); err == nil {
return readCredentialsFileJSON(b, opts)
}
Expand Down Expand Up @@ -207,8 +207,8 @@ func readCredentialsFileJSON(b []byte, opts *DetectOptions) (*auth.Credentials,
}

func clientCredConfigFromJSON(b []byte, opts *DetectOptions) *auth.Options3LO {
var creds internaldetect.ClientCredentialsFile
var c *internaldetect.Config3LO
var creds credsfile.ClientCredentialsFile
var c *credsfile.Config3LO
if err := json.Unmarshal(b, &creds); err != nil {
return nil
}
Expand Down
14 changes: 7 additions & 7 deletions auth/credentials/detect_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import (
"cloud.google.com/go/auth"
"cloud.google.com/go/auth/credentials/internal/gdch"
"cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
"cloud.google.com/go/auth/internal/jwt"
)

Expand All @@ -46,7 +46,7 @@ func TestDefaultCredentials_GdchServiceAccountKey(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseGDCHServiceAccount(b)
f, err := credsfile.ParseGDCHServiceAccount(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -155,7 +155,7 @@ func TestDefaultCredentials_ImpersonatedServiceAccountKey(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseImpersonatedServiceAccount(b)
f, err := credsfile.ParseImpersonatedServiceAccount(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -306,7 +306,7 @@ func TestDefaultCredentials_ServiceAccountKey(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseServiceAccount(b)
f, err := credsfile.ParseServiceAccount(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -456,7 +456,7 @@ func TestDefaultCredentials_ClientCredentials(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseClientCredentials(b)
f, err := credsfile.ParseClientCredentials(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -523,7 +523,7 @@ func TestDefaultCredentials_ExternalAccountKey(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseExternalAccount(b)
f, err := credsfile.ParseExternalAccount(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -612,7 +612,7 @@ func TestDefaultCredentials_ExternalAccountAuthorizedUserKey(t *testing.T) {
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseExternalAccountAuthorizedUser(b)
f, err := credsfile.ParseExternalAccountAuthorizedUser(b)
if err != nil {
t.Fatal(err)
}
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import (
"fmt"

"cloud.google.com/go/auth/credentials"
"cloud.google.com/go/auth/downscope"
"cloud.google.com/go/auth/credentials/downscope"
)

func ExampleNewCredentials() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (

"cloud.google.com/go/auth"
"cloud.google.com/go/auth/credentials"
"cloud.google.com/go/auth/downscope"
"cloud.google.com/go/auth/credentials/downscope"
"cloud.google.com/go/auth/internal/testutil"
"cloud.google.com/go/auth/internal/testutil/testgcs"
)
Expand Down
40 changes: 20 additions & 20 deletions auth/credentials/filetypes.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ import (
"cloud.google.com/go/auth/credentials/internal/gdch"
"cloud.google.com/go/auth/credentials/internal/impersonate"
internalauth "cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
)

func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
fileType, err := internaldetect.ParseFileType(b)
fileType, err := credsfile.ParseFileType(b)
if err != nil {
return nil, err
}

var projectID, quotaProjectID, universeDomain string
var tp auth.TokenProvider
switch fileType {
case internaldetect.ServiceAccountKey:
f, err := internaldetect.ParseServiceAccount(b)
case credsfile.ServiceAccountKey:
f, err := credsfile.ParseServiceAccount(b)
if err != nil {
return nil, err
}
Expand All @@ -47,8 +47,8 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
}
projectID = f.ProjectID
universeDomain = f.UniverseDomain
case internaldetect.UserCredentialsKey:
f, err := internaldetect.ParseUserCredentials(b)
case credsfile.UserCredentialsKey:
f, err := credsfile.ParseUserCredentials(b)
if err != nil {
return nil, err
}
Expand All @@ -57,8 +57,8 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
return nil, err
}
quotaProjectID = f.QuotaProjectID
case internaldetect.ExternalAccountKey:
f, err := internaldetect.ParseExternalAccount(b)
case credsfile.ExternalAccountKey:
f, err := credsfile.ParseExternalAccount(b)
if err != nil {
return nil, err
}
Expand All @@ -68,8 +68,8 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
}
quotaProjectID = f.QuotaProjectID
universeDomain = f.UniverseDomain
case internaldetect.ExternalAccountAuthorizedUserKey:
f, err := internaldetect.ParseExternalAccountAuthorizedUser(b)
case credsfile.ExternalAccountAuthorizedUserKey:
f, err := credsfile.ParseExternalAccountAuthorizedUser(b)
if err != nil {
return nil, err
}
Expand All @@ -78,8 +78,8 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
return nil, err
}
quotaProjectID = f.QuotaProjectID
case internaldetect.ImpersonatedServiceAccountKey:
f, err := internaldetect.ParseImpersonatedServiceAccount(b)
case credsfile.ImpersonatedServiceAccountKey:
f, err := credsfile.ParseImpersonatedServiceAccount(b)
if err != nil {
return nil, err
}
Expand All @@ -88,8 +88,8 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
return nil, err
}
universeDomain = f.UniverseDomain
case internaldetect.GDCHServiceAccountKey:
f, err := internaldetect.ParseGDCHServiceAccount(b)
case credsfile.GDCHServiceAccountKey:
f, err := credsfile.ParseGDCHServiceAccount(b)
if err != nil {
return nil, err
}
Expand All @@ -115,7 +115,7 @@ func fileCredentials(b []byte, opts *DetectOptions) (*auth.Credentials, error) {
}), nil
}

func handleServiceAccount(f *internaldetect.ServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleServiceAccount(f *credsfile.ServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
if opts.UseSelfSignedJWT {
return configureSelfSignedJWT(f, opts)
}
Expand All @@ -133,7 +133,7 @@ func handleServiceAccount(f *internaldetect.ServiceAccountFile, opts *DetectOpti
return auth.New2LOTokenProvider(opts2LO)
}

func handleUserCredential(f *internaldetect.UserCredentialsFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleUserCredential(f *credsfile.UserCredentialsFile, opts *DetectOptions) (auth.TokenProvider, error) {
opts3LO := &auth.Options3LO{
ClientID: f.ClientID,
ClientSecret: f.ClientSecret,
Expand All @@ -147,7 +147,7 @@ func handleUserCredential(f *internaldetect.UserCredentialsFile, opts *DetectOpt
return auth.New3LOTokenProvider(opts3LO)
}

func handleExternalAccount(f *internaldetect.ExternalAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleExternalAccount(f *credsfile.ExternalAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
externalOpts := &externalaccount.Options{
Audience: f.Audience,
SubjectTokenType: f.SubjectTokenType,
Expand All @@ -166,7 +166,7 @@ func handleExternalAccount(f *internaldetect.ExternalAccountFile, opts *DetectOp
return externalaccount.NewTokenProvider(externalOpts)
}

func handleExternalAccountAuthorizedUser(f *internaldetect.ExternalAccountAuthorizedUserFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleExternalAccountAuthorizedUser(f *credsfile.ExternalAccountAuthorizedUserFile, opts *DetectOptions) (auth.TokenProvider, error) {
externalOpts := &externalaccountuser.Options{
Audience: f.Audience,
RefreshToken: f.RefreshToken,
Expand All @@ -180,7 +180,7 @@ func handleExternalAccountAuthorizedUser(f *internaldetect.ExternalAccountAuthor
return externalaccountuser.NewTokenProvider(externalOpts)
}

func handleImpersonatedServiceAccount(f *internaldetect.ImpersonatedServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleImpersonatedServiceAccount(f *credsfile.ImpersonatedServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
if f.ServiceAccountImpersonationURL == "" || f.CredSource == nil {
return nil, errors.New("missing 'source_credentials' field or 'service_account_impersonation_url' in credentials")
}
Expand All @@ -198,7 +198,7 @@ func handleImpersonatedServiceAccount(f *internaldetect.ImpersonatedServiceAccou
})
}

func handleGDCHServiceAccount(f *internaldetect.GDCHServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
func handleGDCHServiceAccount(f *credsfile.GDCHServiceAccountFile, opts *DetectOptions) (auth.TokenProvider, error) {
return gdch.NewTokenProvider(f, &gdch.Options{
STSAudience: opts.STSAudience,
Client: opts.client(),
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ import (
"context"
"net/http"

"cloud.google.com/go/auth/credentials/idtoken"
"cloud.google.com/go/auth/httptransport"
"cloud.google.com/go/auth/idtoken"
)

func ExampleNewCredentials_setAuthorizationHeader() {
Expand Down
12 changes: 6 additions & 6 deletions auth/idtoken/file.go → auth/credentials/idtoken/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import (

"cloud.google.com/go/auth"
"cloud.google.com/go/auth/credentials"
"cloud.google.com/go/auth/impersonate"
"cloud.google.com/go/auth/credentials/impersonate"
"cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
)

const (
Expand All @@ -40,13 +40,13 @@ var (
)

func credsFromBytes(b []byte, opts *Options) (*auth.Credentials, error) {
t, err := internaldetect.ParseFileType(b)
t, err := credsfile.ParseFileType(b)
if err != nil {
return nil, err
}
switch t {
case internaldetect.ServiceAccountKey:
f, err := internaldetect.ParseServiceAccount(b)
case credsfile.ServiceAccountKey:
f, err := credsfile.ParseServiceAccount(b)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -82,7 +82,7 @@ func credsFromBytes(b []byte, opts *Options) (*auth.Credentials, error) {
ProjectIDProvider: internal.StaticCredentialsProperty(f.ProjectID),
UniverseDomainProvider: internal.StaticCredentialsProperty(f.UniverseDomain),
}), nil
case internaldetect.ImpersonatedServiceAccountKey, internaldetect.ExternalAccountKey:
case credsfile.ImpersonatedServiceAccountKey, credsfile.ExternalAccountKey:
type url struct {
ServiceAccountImpersonationURL string `json:"service_account_impersonation_url"`
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (

"cloud.google.com/go/auth"
"cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
"cloud.google.com/go/compute/metadata"
)

Expand Down Expand Up @@ -111,7 +111,7 @@ func (o *Options) jsonBytes() []byte {
if o != nil {
fnOverride = o.CredentialsFile
}
filename := internaldetect.GetFileNameFromEnv(fnOverride)
filename := credsfile.GetFileNameFromEnv(fnOverride)
if filename != "" {
b, _ := os.ReadFile(filename)
return b
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@ import (
"testing"

"cloud.google.com/go/auth/internal"
"cloud.google.com/go/auth/internal/internaldetect"
"cloud.google.com/go/auth/internal/credsfile"
)

func TestNewCredentials_ServiceAccount(t *testing.T) {
wantTok, _ := createRS256JWT(t)
b, err := os.ReadFile("../internal/testdata/sa.json")
b, err := os.ReadFile("../../internal/testdata/sa.json")
if err != nil {
t.Fatal(err)
}
f, err := internaldetect.ParseServiceAccount(b)
f, err := credsfile.ParseServiceAccount(b)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -87,7 +87,7 @@ func TestNewCredentials_ImpersonatedServiceAccount(t *testing.T) {
}
creds, err := NewCredentials(&Options{
Audience: "aud",
CredentialsFile: "../internal/testdata/imp.json",
CredentialsFile: "../../internal/testdata/imp.json",
CustomClaims: map[string]interface{}{
"foo": "bar",
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import (
"strings"
"testing"

"cloud.google.com/go/auth/credentials/idtoken"
"cloud.google.com/go/auth/httptransport"
"cloud.google.com/go/auth/idtoken"
"cloud.google.com/go/auth/internal/testutil"
)

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ package impersonate_test
import (
"log"

"cloud.google.com/go/auth/credentials/impersonate"
"cloud.google.com/go/auth/httptransport"
"cloud.google.com/go/auth/impersonate"
)

func ExampleNewCredentials_serviceAccount() {
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ import (

"cloud.google.com/go/auth"
"cloud.google.com/go/auth/credentials"
"cloud.google.com/go/auth/idtoken"
"cloud.google.com/go/auth/impersonate"
"cloud.google.com/go/auth/credentials/idtoken"
"cloud.google.com/go/auth/credentials/impersonate"
"cloud.google.com/go/auth/internal/testutil"
"cloud.google.com/go/auth/internal/testutil/testgcs"
)
Expand Down
File renamed without changes.
File renamed without changes.

0 comments on commit 26c7ce1

Please sign in to comment.