From 033e058745f6f034683c5ed8a4a8d6b14c31b9cd Mon Sep 17 00:00:00 2001 From: Jason Hu Date: Thu, 9 Aug 2018 02:17:40 -0700 Subject: [PATCH] Fix access token expires issue (#1554) --- src/common/auth/fetch_token.js | 7 ++++--- src/common/auth/refresh_token.js | 7 ++++--- src/entrypoints/core.js | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) 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,