From 74fac1e56ccfca26ae10b4cd4436e2eb8715a708 Mon Sep 17 00:00:00 2001 From: Jan Oberhauser Date: Wed, 13 May 2020 01:07:34 +0200 Subject: [PATCH] :zap: Do not overwrite all oauth data on reconnect #PROD-24 --- packages/cli/src/Server.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/cli/src/Server.ts b/packages/cli/src/Server.ts index ab72359eb..2a041eeb8 100644 --- a/packages/cli/src/Server.ts +++ b/packages/cli/src/Server.ts @@ -1032,7 +1032,15 @@ class App { return ResponseHelper.sendErrorResponse(res, errorResponse); } - savedCredentialsData.oauthTokenData = oauthToken.data; + if (savedCredentialsData.oauthTokenData) { + // Only overwrite supplied data as some providers do for example just return the + // refresh_token on the very first request and not on subsequent ones. + Object.assign(savedCredentialsData.oauthTokenData, oauthToken.data); + } else { + // No data exists so simply set + savedCredentialsData.oauthTokenData = oauthToken.data; + } + _.unset(savedCredentialsData, 'csrfSecret'); credentials.setData(savedCredentialsData, encryptionKey);