From 716d29d09c6d252d990cb23bd09b6a431bde6140 Mon Sep 17 00:00:00 2001 From: Benjosh95 Date: Wed, 10 Sep 2025 09:51:47 +0200 Subject: [PATCH 1/4] use existing user token refresh function for curl commands --- internal/cmd/curl/curl.go | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/internal/cmd/curl/curl.go b/internal/cmd/curl/curl.go index 15b79627a..b3203dc13 100644 --- a/internal/cmd/curl/curl.go +++ b/internal/cmd/curl/curl.go @@ -181,19 +181,11 @@ func getBearerToken(p *print.Printer) (string, error) { return "", &errors.SessionExpiredError{} } - accessToken, err := auth.GetAccessToken() + accessToken, err := auth.GetValidAccessToken(p) if err != nil { return "", err } - accessTokenExpired, err := auth.TokenExpired(accessToken) - if err != nil { - return "", err - } - if accessTokenExpired { - return "", &errors.AccessTokenExpiredError{} - } - return accessToken, nil } From fd5cd8528d330d0a40b6283f009a00d53fbf2b63 Mon Sep 17 00:00:00 2001 From: Benjosh95 Date: Wed, 10 Sep 2025 10:24:24 +0200 Subject: [PATCH 2/4] add a proper warning for expired or invalid refresh tokens --- internal/pkg/auth/auth.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/pkg/auth/auth.go b/internal/pkg/auth/auth.go index 9a9b48817..b8190c622 100644 --- a/internal/pkg/auth/auth.go +++ b/internal/pkg/auth/auth.go @@ -202,7 +202,7 @@ func GetValidAccessToken(p *print.Printer) (string, error) { // Refresh the tokens err = refreshTokens(utf) if err != nil { - return "", fmt.Errorf("refresh access token: %w", err) + return "", fmt.Errorf("access token expired and refresh token is invalid. Please run 'stackit auth login' to re-authenticate: %w", err) } // Return the new access token From 4f55873b11d5802efbe905d40784f177ec91adf7 Mon Sep 17 00:00:00 2001 From: Benjosh95 Date: Fri, 12 Sep 2025 09:01:02 +0200 Subject: [PATCH 3/4] fix error handling --- internal/cmd/curl/curl.go | 3 ++- internal/pkg/auth/auth.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/cmd/curl/curl.go b/internal/cmd/curl/curl.go index b3203dc13..afe797a28 100644 --- a/internal/cmd/curl/curl.go +++ b/internal/cmd/curl/curl.go @@ -183,7 +183,8 @@ func getBearerToken(p *print.Printer) (string, error) { accessToken, err := auth.GetValidAccessToken(p) if err != nil { - return "", err + p.Debug(print.ErrorLevel, "get valid access token: %v", err) + return "", &errors.SessionExpiredError{} } return accessToken, nil diff --git a/internal/pkg/auth/auth.go b/internal/pkg/auth/auth.go index b8190c622..ea549a2cb 100644 --- a/internal/pkg/auth/auth.go +++ b/internal/pkg/auth/auth.go @@ -202,7 +202,7 @@ func GetValidAccessToken(p *print.Printer) (string, error) { // Refresh the tokens err = refreshTokens(utf) if err != nil { - return "", fmt.Errorf("access token expired and refresh token is invalid. Please run 'stackit auth login' to re-authenticate: %w", err) + return "", fmt.Errorf("access token and refresh token expired: %w", err) } // Return the new access token From 6850649e38f7d5172c92193bdef44fef9490886e Mon Sep 17 00:00:00 2001 From: Benjosh95 Date: Fri, 12 Sep 2025 09:38:49 +0200 Subject: [PATCH 4/4] fix error handling get-access-token command --- internal/cmd/auth/get-access-token/get_access_token.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/cmd/auth/get-access-token/get_access_token.go b/internal/cmd/auth/get-access-token/get_access_token.go index f5040d85c..39bb3be7d 100644 --- a/internal/cmd/auth/get-access-token/get_access_token.go +++ b/internal/cmd/auth/get-access-token/get_access_token.go @@ -45,7 +45,8 @@ func NewCmd(params *params.CmdParams) *cobra.Command { accessToken, err := auth.GetValidAccessToken(params.Printer) if err != nil { - return err + params.Printer.Debug(print.ErrorLevel, "get valid access token: %v", err) + return &cliErr.SessionExpiredError{} } switch model.OutputFormat {