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.