From 532df9f8d46f7762b6b3fbfd23f6f4061d91a817 Mon Sep 17 00:00:00 2001 From: Stijn Hoop Date: Mon, 5 Sep 2022 17:01:48 +0200 Subject: [PATCH] fix(privateinternetaccess): get token for port forwarding (#1132) --- .../provider/privateinternetaccess/portforward.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/provider/privateinternetaccess/portforward.go b/internal/provider/privateinternetaccess/portforward.go index d7cd419d..e7b28915 100644 --- a/internal/provider/privateinternetaccess/portforward.go +++ b/internal/provider/privateinternetaccess/portforward.go @@ -244,17 +244,21 @@ func fetchToken(ctx context.Context, client *http.Client, url.QueryEscape(password): "", } + form := url.Values{} + form.Add("username", username) + form.Add("password", password) url := url.URL{ Scheme: "https", - User: url.UserPassword(username, password), - Host: "privateinternetaccess.com", - Path: "/gtoken/generateToken", + Host: "www.privateinternetaccess.com", + Path: "/api/client/v2/token", } - request, err := http.NewRequestWithContext(ctx, http.MethodGet, url.String(), nil) + request, err := http.NewRequestWithContext(ctx, http.MethodPost, url.String(), strings.NewReader(form.Encode())) if err != nil { return "", replaceInErr(err, errSubstitutions) } + request.Header.Add("Content-Type", "application/x-www-form-urlencoded") + response, err := client.Do(request) if err != nil { return "", replaceInErr(err, errSubstitutions)