Skip to content

Commit ace56b5

Browse files
committed
fix: Keycloak access token renewal
1 parent d4391bf commit ace56b5

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

internal/auth/keycloak.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"crypto/tls"
66
"errors"
7+
"strings"
78

89
"github.com/go-resty/resty/v2"
910
"github.com/limanmys/render-engine/app/models"
@@ -53,10 +54,19 @@ func RefreshTokenIfNecessary(user_id string) error {
5354
helpers.Env("KEYCLOAK_REALM", ""),
5455
)
5556

56-
if err != nil {
57+
if err != nil && !strings.Contains(err.Error(), "expired") {
5758
return errors.New("an error occured while validating token")
5859
}
5960

61+
if err != nil && strings.Contains(err.Error(), "expired") {
62+
err := RefreshToken(token)
63+
if err != nil {
64+
return err
65+
}
66+
67+
return nil
68+
}
69+
6070
if !result.Valid {
6171
err := RefreshToken(token)
6272
if err != nil {

0 commit comments

Comments
 (0)