diff --git a/authenticationhandler/oauth2.go b/authenticationhandler/oauth2.go index 8f2a100..9cc16a2 100644 --- a/authenticationhandler/oauth2.go +++ b/authenticationhandler/oauth2.go @@ -76,7 +76,7 @@ func (h *AuthTokenHandler) OAuth2TokenAcquisition(apiHandler apihandler.APIHandl err = json.Unmarshal(bodyBytes, oauthResp) if err != nil { h.Logger.Error("Failed to decode OAuth response", zap.Error(err)) - return err + return fmt.Errorf("failed to decode OAuth response: %w", err) } if oauthResp.Error != "" { diff --git a/authenticationhandler/tokenmanager.go b/authenticationhandler/tokenmanager.go index 4944d10..04bb859 100644 --- a/authenticationhandler/tokenmanager.go +++ b/authenticationhandler/tokenmanager.go @@ -66,6 +66,7 @@ func (h *AuthTokenHandler) obtainNewToken(apiHandler apihandler.APIHandler, http } else { err = fmt.Errorf("no valid credentials provided. Unable to obtain a token") h.Logger.Error("Authentication method not supported", zap.String("AuthMethod", h.AuthMethod)) + return err // Return the error immediately } if err == nil { @@ -77,7 +78,12 @@ func (h *AuthTokenHandler) obtainNewToken(apiHandler apihandler.APIHandler, http backoff *= 2 } - return err + if err != nil { + h.Logger.Error("Failed to obtain new token after all attempts", zap.Error(err)) + return err + } + + return nil } // refreshTokenIfNeeded refreshes the token if it's close to expiration.