func tokenFromEnv()

in credhelper/helper.go [163:186]


func tokenFromEnv() (string, error) {
	creds, err := cloudcreds.DetectDefault(&cloudcreds.DetectOptions{
		Scopes:           config.GCRScopes,
		UseSelfSignedJWT: true,
	})
	if err != nil {
		return "", helperErr("failed to detect default credentials", err)
	}

	token, err := creds.Token(context.Background())
	if err != nil {
		return "", err
	}

	if !token.IsValid() {
		return "", helperErr("token was invalid", nil)
	}

	if token.Type != "Bearer" {
		return "", helperErr(fmt.Sprintf("expected token type \"Bearer\" but got \"%s\"", token.Type), nil)
	}

	return token.Value, nil
}