Skip to content

Commit 218e916

Browse files
JorTurFermarceljk
authored andcommitted
fix: refresh token flow uses x-www-form encoding
Signed-off-by: Jorge Turrado <jorge.turrado@mail.schwarz>
1 parent 437c1ad commit 218e916

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

internal/pkg/auth/user_token_flow.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"io"
77
"net/http"
88
"net/url"
9+
"strings"
910
"time"
1011

1112
"github.com/golang-jwt/jwt/v5"
@@ -166,21 +167,21 @@ func buildRequestToRefreshTokens(utf *userTokenFlow) (*http.Request, error) {
166167
return nil, err
167168
}
168169

170+
form := url.Values{}
171+
form.Set("grant_type", "refresh_token")
172+
form.Set("client_id", idpClientID)
173+
form.Set("refresh_token", utf.refreshToken)
174+
169175
req, err := http.NewRequest(
170176
http.MethodPost,
171177
utf.tokenEndpoint,
172-
http.NoBody,
178+
strings.NewReader(form.Encode()),
173179
)
180+
req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
181+
174182
if err != nil {
175183
return nil, err
176184
}
177-
reqQuery := url.Values{}
178-
reqQuery.Set("grant_type", "refresh_token")
179-
reqQuery.Set("client_id", idpClientID)
180-
reqQuery.Set("refresh_token", utf.refreshToken)
181-
reqQuery.Set("token_format", "jwt")
182-
req.URL.RawQuery = reqQuery.Encode()
183-
184185
return req, nil
185186
}
186187

0 commit comments

Comments
 (0)