diff --git a/src/common/auth/fetch_token.js b/src/common/auth/fetch_token.js index ac0033755a..e96153127b 100644 --- a/src/common/auth/fetch_token.js +++ b/src/common/auth/fetch_token.js @@ -9,8 +9,9 @@ export default function fetchToken(clientId, code) { body: data, }).then((resp) => { if (!resp.ok) throw new Error('Unable to fetch tokens'); - const tokens = resp.json(); - tokens.expires = (tokens.expires_in * 1000) + Date.now(); - return tokens; + return resp.json().then((tokens) => { + tokens.expires = (tokens.expires_in * 1000) + Date.now(); + return tokens; + }); }); } diff --git a/src/common/auth/refresh_token.js b/src/common/auth/refresh_token.js index 30df3ebfa5..2a11aa1e64 100644 --- a/src/common/auth/refresh_token.js +++ b/src/common/auth/refresh_token.js @@ -9,8 +9,9 @@ export default function refreshAccessToken(clientId, refreshToken) { body: data, }).then((resp) => { if (!resp.ok) throw new Error('Unable to fetch tokens'); - const tokens = resp.json(); - tokens.expires = (tokens.expires_in * 1000) + Date.now(); - return tokens; + return resp.json().then((tokens) => { + tokens.expires = (tokens.expires_in * 1000) + Date.now(); + return tokens; + }); }); } diff --git a/src/entrypoints/core.js b/src/entrypoints/core.js index 0de0d6ce7a..2c1adfbf40 100644 --- a/src/entrypoints/core.js +++ b/src/entrypoints/core.js @@ -39,7 +39,7 @@ function redirectLogin() { window.refreshToken = () => refreshToken_(clientId(), window.tokens.refresh_token).then((accessTokenResp) => { - window.tokens.access_token = accessTokenResp.access_token; + window.tokens = Object.assign({}, window.tokens, accessTokenResp); localStorage.tokens = JSON.stringify(window.tokens); return { access_token: accessTokenResp.access_token,