From 279af6251be7ec49a017b7b86ce7d7cd85bc54fc Mon Sep 17 00:00:00 2001 From: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Date: Fri, 11 Sep 2020 12:15:06 +0200 Subject: [PATCH] :zap: Adjustions for utilizing an external OAuth Hook (#945) * :construction: add oauth redirect env variable, add host to oauth state * :art: format * :construction: reset changes * :construction: add hook * :construction: remove host from inital state --- packages/cli/src/Server.ts | 7 ++++--- packages/cli/templates/oauth-callback.html | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/cli/src/Server.ts b/packages/cli/src/Server.ts index 4f23a624c..d09855bcd 100644 --- a/packages/cli/src/Server.ts +++ b/packages/cli/src/Server.ts @@ -1176,7 +1176,7 @@ class App { const csrfSecret = token.secretSync(); const state = { token: token.create(csrfSecret), - cid: req.query.id + cid: req.query.id, }; const stateEncodedStr = Buffer.from(JSON.stringify(state)).toString('base64') as string; @@ -1294,13 +1294,14 @@ class App { }; delete oAuth2Parameters.clientSecret; } - const redirectUri = `${WebhookHelpers.getWebhookBaseUrl()}${this.restEndpoint}/oauth2-credential/callback`; + + await this.externalHooks.run('oauth2.callback', [oAuth2Parameters]); const oAuthObj = new clientOAuth2(oAuth2Parameters); const queryParameters = req.originalUrl.split('?').splice(1, 1).join(''); - const oauthToken = await oAuthObj.code.getToken(`${redirectUri}?${queryParameters}`, options); + const oauthToken = await oAuthObj.code.getToken(`${oAuth2Parameters.redirectUri}?${queryParameters}`, options); if (oauthToken === undefined) { const errorResponse = new ResponseHelper.ResponseError('Unable to get access tokens!', undefined, 404); diff --git a/packages/cli/templates/oauth-callback.html b/packages/cli/templates/oauth-callback.html index e479c5ea9..5f7b736d9 100644 --- a/packages/cli/templates/oauth-callback.html +++ b/packages/cli/templates/oauth-callback.html @@ -1,9 +1,9 @@ - + -Got connected. The window can be closed now. + Got connected. The window can be closed now.