google: minor tweaks

Change-Id: Ic0e6363b19bbfd40df6b7b15322abf43c9990688
This commit is contained in:
Patrick Jones
2020-12-15 08:53:28 -08:00
parent 4c1e0860ce
commit 08114d04f5
5 changed files with 10 additions and 7 deletions

View File

@@ -88,7 +88,11 @@ type tokenSource struct {
func (ts tokenSource) Token() (*oauth2.Token, error) {
conf := ts.conf
subjectToken, err := conf.parse().retrieveSubjectToken(conf)
typedCredSource := conf.parse()
if typedCredSource == nil {
return nil, fmt.Errorf("google: unable to parse credential source")
}
subjectToken, err := typedCredSource.retrieveSubjectToken(conf)
if err != nil {
return nil, err
}
@@ -118,10 +122,9 @@ func (ts tokenSource) Token() (*oauth2.Token, error) {
}
if stsResp.ExpiresIn < 0 {
return nil, fmt.Errorf("google/oauth2: got invalid expiry from security token service")
} else if stsResp.ExpiresIn > 0 {
} else if stsResp.ExpiresIn >= 0 {
accessToken.Expiry = now().Add(time.Duration(stsResp.ExpiresIn) * time.Second)
}
// TODO: For reviewers- what should I do if ExpiresIn is equal to 0? Would that correspond to a one-use token, or something else?
if stsResp.RefreshToken != "" {
accessToken.RefreshToken = stsResp.RefreshToken

View File

@@ -75,7 +75,7 @@ func TestToken_Func(t *testing.T) {
tok, err := ourTS.Token()
if err != nil {
t.Errorf("Unexpected error: %e", err)
t.Fatalf("Unexpected error: %e", err)
}
if got, want := tok.AccessToken, correctAT; got != want {
t.Errorf("Unexpected access token: got %v, but wanted %v", got, want)

View File

@@ -23,14 +23,14 @@ type fsTest struct {
var testFsUntyped = fsTest{
name: "UntypedFileSource",
cs: CredentialSource{
File: "../../testdata/externalaccount/3pi_cred.txt",
File: "./testdata/3pi_cred.txt",
},
want: "street123",
}
var testFsTypeText = fsTest{
name: "TextFileSource",
cs: CredentialSource{
File: "../../testdata/externalaccount/3pi_cred.txt",
File: "./testdata/3pi_cred.txt",
Format: format{Type: fileTypeText},
},
want: "street123",
@@ -38,7 +38,7 @@ var testFsTypeText = fsTest{
var testFsTypeJSON = fsTest{
name: "JSONFileSource",
cs: CredentialSource{
File: "../../testdata/externalaccount/3pi_cred.json",
File: "./testdata/3pi_cred.json",
Format: format{Type: fileTypeJSON, SubjectTokenFieldName: "SubjToken"},
},
want: "321road",