diff --git a/util/sponsor/auth.go b/util/sponsor/auth.go index e7e9a08ef..6cdf45393 100644 --- a/util/sponsor/auth.go +++ b/util/sponsor/auth.go @@ -17,10 +17,16 @@ var ( ExpiresAt time.Time ) +const unavailable = "sponsorship unavailable" + func IsAuthorized() bool { return len(Subject) > 0 } +func IsAuthorizedForApi() bool { + return IsAuthorized() && Subject != unavailable +} + // check and set sponsorship token func ConfigureSponsorship(token string) error { host := util.Getenv("GRPC_URI", cloud.Host) @@ -43,7 +49,7 @@ func ConfigureSponsorship(token string) error { if err != nil { if s, ok := status.FromError(err); ok && s.Code() != codes.Unknown { - Subject = "sponsorship unavailable" + Subject = unavailable err = nil } else { err = fmt.Errorf("sponsortoken: %w", err) diff --git a/util/telemetry/charge.go b/util/telemetry/charge.go index 2822a2c55..fc51f9a4e 100644 --- a/util/telemetry/charge.go +++ b/util/telemetry/charge.go @@ -30,7 +30,7 @@ var ( func Enabled() bool { enabled, _ := settings.Bool(enabledSetting) - return enabled && sponsor.IsAuthorized() && instanceID != "" + return enabled && sponsor.IsAuthorizedForApi() && instanceID != "" } func Enable(enable bool) error {