protonmail: fix "invalid refresh token" errors

The UID is now provided as a header field.

Closes: https://github.com/emersion/hydroxide/issues/81
This commit is contained in:
Simon Ser 2020-03-07 18:09:50 +01:00
parent 87dbf04035
commit 4ede51e2b0
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 1 additions and 2 deletions

View File

@ -169,7 +169,6 @@ func (c *Client) AuthTOTP(code string) (scope string, err error) {
} }
type authRefreshReq struct { type authRefreshReq struct {
UID string `json:"Uid"`
RefreshToken string RefreshToken string
// Unused but required // Unused but required
@ -180,7 +179,6 @@ type authRefreshReq struct {
func (c *Client) AuthRefresh(expiredAuth *Auth) (*Auth, error) { func (c *Client) AuthRefresh(expiredAuth *Auth) (*Auth, error) {
reqData := &authRefreshReq{ reqData := &authRefreshReq{
UID: expiredAuth.UID,
RefreshToken: expiredAuth.RefreshToken, RefreshToken: expiredAuth.RefreshToken,
ResponseType: "token", ResponseType: "token",
GrantType: "refresh_token", GrantType: "refresh_token",
@ -191,6 +189,7 @@ func (c *Client) AuthRefresh(expiredAuth *Auth) (*Auth, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
req.Header.Set("X-Pm-Uid", expiredAuth.UID)
var respData authResp var respData authResp
if err := c.doJSON(req, &respData); err != nil { if err := c.doJSON(req, &respData); err != nil {