dce-expresskit 4.0.0-beta.8 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/helpers/dataSigner.js +18 -10
- package/lib/helpers/dataSigner.js.map +1 -1
- package/lib/helpers/genRouteHandler.js +4 -3
- package/lib/helpers/genRouteHandler.js.map +1 -1
- package/lib/helpers/initLogCollection.js.map +1 -1
- package/lib/helpers/initServer.d.ts +6 -4
- package/lib/helpers/initServer.js.map +1 -1
- package/lib/helpers/visitEndpointOnAnotherServer/index.js +11 -78
- package/lib/helpers/visitEndpointOnAnotherServer/index.js.map +1 -1
- package/lib/helpers/visitEndpointOnAnotherServer/sendServerToServerRequest.js +87 -19
- package/lib/helpers/visitEndpointOnAnotherServer/sendServerToServerRequest.js.map +1 -1
- package/package.json +1 -1
- package/src/helpers/dataSigner.ts +28 -8
- package/src/helpers/genRouteHandler.ts +8 -2
- package/src/helpers/initLogCollection.ts +0 -1
- package/src/helpers/initServer.ts +6 -4
- package/src/helpers/visitEndpointOnAnotherServer/index.ts +1 -88
- package/src/helpers/visitEndpointOnAnotherServer/sendServerToServerRequest.ts +97 -4
- package/src/constants/LOG_REVIEW_ROUTE_PATH_PREFIX.ts +0 -9
- package/src/constants/LOG_REVIEW_STATUS_ROUTE.ts +0 -10
- package/src/constants/LOG_ROUTE_PATH.ts +0 -9
- package/src/constants/ROUTE_PATH_PREFIX.ts +0 -7
|
@@ -165,7 +165,7 @@ exports.signRequest = signRequest;
|
|
|
165
165
|
* @returns parsed and validated params
|
|
166
166
|
*/
|
|
167
167
|
var validateSignedRequest = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
168
|
-
var signature, timestamp, key, method, path, params, crossServerCredentialCollection, crossServerCredential, allowedScopes, secret, expectedSignature, elapsedMs;
|
|
168
|
+
var signature, timestamp, key, method, path, params, scope, crossServerCredentialCollection, crossServerCredentialMatches, crossServerCredential, allowedScopes, secret, paramsToSign, expectedSignature, elapsedMs;
|
|
169
169
|
return __generator(this, function (_a) {
|
|
170
170
|
switch (_a.label) {
|
|
171
171
|
case 0:
|
|
@@ -189,31 +189,39 @@ var validateSignedRequest = function (opts) { return __awaiter(void 0, void 0, v
|
|
|
189
189
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request there was no oauth consumer key.', ExpressKitErrorCode_1.default.CrossServerMissingSignedRequestInfo);
|
|
190
190
|
}
|
|
191
191
|
key = opts.params.oauth_consumer_key;
|
|
192
|
-
method = opts.method, path = opts.path, params = opts.params;
|
|
192
|
+
method = opts.method, path = opts.path, params = opts.params, scope = opts.scope;
|
|
193
193
|
crossServerCredentialCollection = (0, initServer_1.internalGetCrossServerCredentialCollection)();
|
|
194
194
|
if (!crossServerCredentialCollection) {
|
|
195
195
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the cross-server credential collection was not ready in time.', ExpressKitErrorCode_1.default.SignedRequestInvalidCollection);
|
|
196
196
|
}
|
|
197
197
|
return [4 /*yield*/, crossServerCredentialCollection.find({ key: key })];
|
|
198
198
|
case 1:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
if (!crossServerCredential) {
|
|
199
|
+
crossServerCredentialMatches = _a.sent();
|
|
200
|
+
if (!crossServerCredentialMatches || crossServerCredentialMatches.length === 0) {
|
|
202
201
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the credential was not found.', ExpressKitErrorCode_1.default.SignedRequestInvalidCredential);
|
|
203
202
|
}
|
|
203
|
+
crossServerCredential = crossServerCredentialMatches[0];
|
|
204
204
|
allowedScopes = crossServerCredential.scopes;
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
if (!allowedScopes || !Array.isArray(allowedScopes)) {
|
|
206
|
+
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the credential does not have access to any scopes.', ExpressKitErrorCode_1.default.SignedRequestInvalidScope);
|
|
207
|
+
}
|
|
208
|
+
if (!allowedScopes.includes(scope)) {
|
|
207
209
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the required scope was not approved for the credential.', ExpressKitErrorCode_1.default.SignedRequestInvalidScope);
|
|
208
210
|
}
|
|
209
211
|
return [4 /*yield*/, decrypt(crossServerCredential.encodedeSecret)];
|
|
210
212
|
case 2:
|
|
211
213
|
secret = _a.sent();
|
|
212
|
-
|
|
214
|
+
paramsToSign = __assign({}, params);
|
|
215
|
+
Object.keys(paramsToSign).forEach(function (key) {
|
|
216
|
+
// Delete oauth params
|
|
217
|
+
if (key.startsWith('oauth_')) {
|
|
218
|
+
delete paramsToSign[key];
|
|
219
|
+
}
|
|
220
|
+
});
|
|
213
221
|
return [4 /*yield*/, genSignature({
|
|
214
222
|
method: method,
|
|
215
223
|
path: path,
|
|
216
|
-
params:
|
|
224
|
+
params: paramsToSign,
|
|
217
225
|
secret: secret,
|
|
218
226
|
})];
|
|
219
227
|
case 3:
|
|
@@ -223,7 +231,7 @@ var validateSignedRequest = function (opts) { return __awaiter(void 0, void 0, v
|
|
|
223
231
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the signature did not match.', ExpressKitErrorCode_1.default.SignedRequestInvalidSignature);
|
|
224
232
|
}
|
|
225
233
|
elapsedMs = Math.abs(Date.now() - timestamp);
|
|
226
|
-
if (elapsedMs
|
|
234
|
+
if (elapsedMs > dce_reactkit_1.MINUTE_IN_MS) {
|
|
227
235
|
throw new dce_reactkit_1.ErrorWithCode('Could not validate a cross-server request because the request was too old.', ExpressKitErrorCode_1.default.SignedRequestInvalidTimestamp);
|
|
228
236
|
}
|
|
229
237
|
return [2 /*return*/];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataSigner.js","sourceRoot":"","sources":["../../src/helpers/dataSigner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dataSigner.js","sourceRoot":"","sources":["../../src/helpers/dataSigner.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,7 +108,7 @@ var dataSigner_1 = require("./dataSigner");
|
|
|
108
108
|
var genRouteHandler = function (opts) {
|
|
109
109
|
// Return a route handler
|
|
110
110
|
return function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
|
|
111
|
-
var output, crossServerScope, skipSessionCheck, requestBody, err_1, paramList, i, _a, name_1, type, value, simpleVal, _b, launched, launchInfo, logServerEvent, responseSent, redirect, send, renderErrorPage, renderInfoPage, renderCustomHTML, results, err_2;
|
|
111
|
+
var output, crossServerScope, skipSessionCheck, requestBody, paramsToSign, err_1, paramList, i, _a, name_1, type, value, simpleVal, _b, launched, launchInfo, logServerEvent, responseSent, redirect, send, renderErrorPage, renderInfoPage, renderCustomHTML, results, err_2;
|
|
112
112
|
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
113
113
|
return __generator(this, function (_v) {
|
|
114
114
|
switch (_v.label) {
|
|
@@ -125,17 +125,18 @@ var genRouteHandler = function (opts) {
|
|
|
125
125
|
_v.label = 1;
|
|
126
126
|
case 1:
|
|
127
127
|
_v.trys.push([1, 3, , 4]);
|
|
128
|
+
paramsToSign = __assign(__assign({}, req.body), req.query);
|
|
128
129
|
// Validate the request body
|
|
129
130
|
return [4 /*yield*/, (0, dataSigner_1.validateSignedRequest)({
|
|
130
131
|
method: (_d = req.method) !== null && _d !== void 0 ? _d : 'GET',
|
|
131
132
|
path: req.path,
|
|
132
133
|
scope: crossServerScope,
|
|
133
|
-
params:
|
|
134
|
+
params: paramsToSign,
|
|
134
135
|
})];
|
|
135
136
|
case 2:
|
|
136
137
|
// Validate the request body
|
|
137
138
|
_v.sent();
|
|
138
|
-
// Valid! Remove oauth values
|
|
139
|
+
// Valid! Remove oauth values because they're no longer needed, and shouldn't be passed to the handler
|
|
139
140
|
Object.keys(requestBody).forEach(function (key) {
|
|
140
141
|
if (key.startsWith('oauth_')) {
|
|
141
142
|
delete requestBody[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genRouteHandler.js","sourceRoot":"","sources":["../../src/helpers/genRouteHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"genRouteHandler.js","sourceRoot":"","sources":["../../src/helpers/genRouteHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initLogCollection.js","sourceRoot":"","sources":["../../src/helpers/initLogCollection.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"initLogCollection.js","sourceRoot":"","sources":["../../src/helpers/initLogCollection.ts"],"names":[],"mappings":";;AAGA;;;;;GAKG;AACH,IAAM,iBAAiB,GAAG,UAAC,UAAkC;IAC3D,OAAO,IAAI,UAAU,CACnB,KAAK,EACL;QACE,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE;YACT,UAAU;YACV,SAAS;YACT,YAAY;YACZ,MAAM;YACN,MAAM;YACN,OAAO;YACP,KAAK;YACL,MAAM;YACN,MAAM;SACP;KACF,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { Collection } from 'dce-mango';
|
|
3
|
+
import { Log } from 'dce-reactkit';
|
|
4
|
+
import CrossServerCredential from '../types/CrossServerCredential';
|
|
3
5
|
/**
|
|
4
6
|
* Get log collection
|
|
5
7
|
* @author Gabe Abrams
|
|
6
8
|
* @returns log collection if one was included during launch or null if we don't
|
|
7
9
|
* have a log collection (yet)
|
|
8
10
|
*/
|
|
9
|
-
export declare const internalGetLogCollection: () =>
|
|
11
|
+
export declare const internalGetLogCollection: () => Collection<Log>;
|
|
10
12
|
/**
|
|
11
13
|
* Get cross-server credential collection
|
|
12
14
|
* @author Gabe Abrams
|
|
13
15
|
* @return cross-server credential collection if one was included during launch or null
|
|
14
16
|
* if we don't have a cross-server credential collection (yet)
|
|
15
17
|
*/
|
|
16
|
-
export declare const internalGetCrossServerCredentialCollection: () =>
|
|
18
|
+
export declare const internalGetCrossServerCredentialCollection: () => Collection<CrossServerCredential>;
|
|
17
19
|
/**
|
|
18
20
|
* Prepare dce-reactkit to run on the server
|
|
19
21
|
* @author Gabe Abrams
|
|
@@ -37,7 +39,7 @@ export declare const internalGetCrossServerCredentialCollection: () => any;
|
|
|
37
39
|
declare const initServer: (opts: {
|
|
38
40
|
app: express.Application;
|
|
39
41
|
logReviewAdmins?: (number[] | Collection<any>);
|
|
40
|
-
logCollection?: Collection<
|
|
41
|
-
crossServerCredentialCollection?: Collection<
|
|
42
|
+
logCollection?: Collection<Log>;
|
|
43
|
+
crossServerCredentialCollection?: Collection<CrossServerCredential>;
|
|
42
44
|
}) => void;
|
|
43
45
|
export default initServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initServer.js","sourceRoot":"","sources":["../../src/helpers/initServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,sBAAsB;AACtB,
|
|
1
|
+
{"version":3,"file":"initServer.js","sourceRoot":"","sources":["../../src/helpers/initServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,67 +38,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
|
-
var _a;
|
|
42
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
42
|
// Import dce-reactkit
|
|
44
43
|
var dce_reactkit_1 = require("dce-reactkit");
|
|
45
|
-
// Import data signer
|
|
46
|
-
var dataSigner_1 = require("../dataSigner");
|
|
47
44
|
// Import shared types
|
|
48
|
-
var ExpressKitErrorCode_1 = __importDefault(require("../../types/ExpressKitErrorCode"));
|
|
49
45
|
var sendServerToServerRequest_1 = __importDefault(require("./sendServerToServerRequest"));
|
|
50
46
|
/*------------------------------------------------------------------------*/
|
|
51
|
-
/* ----------------------------- Credentials ---------------------------- */
|
|
52
|
-
/*------------------------------------------------------------------------*/
|
|
53
|
-
/*
|
|
54
|
-
DCEKIT_CROSS_SERVER_CREDENTIALS format:
|
|
55
|
-
|host:key:secret||host:key:secret|...
|
|
56
|
-
*/
|
|
57
|
-
var credentials = (((_a = process.env.DCEKIT_CROSS_SERVER_CREDENTIALS) !== null && _a !== void 0 ? _a : '')
|
|
58
|
-
// Replace multiple | with a single one
|
|
59
|
-
.replace(/\|+/g, '|')
|
|
60
|
-
// Split by |
|
|
61
|
-
.split('|')
|
|
62
|
-
// Remove empty strings
|
|
63
|
-
.filter(function (str) {
|
|
64
|
-
return str.trim().length > 0;
|
|
65
|
-
})
|
|
66
|
-
// Process each credential
|
|
67
|
-
.map(function (str) {
|
|
68
|
-
// Split by :
|
|
69
|
-
var parts = str.split(':');
|
|
70
|
-
// Check for errors
|
|
71
|
-
if (parts.length !== 3) {
|
|
72
|
-
throw new dce_reactkit_1.ErrorWithCode('Invalid DCEKIT_CROSS_SERVER_CREDENTIALS format. Each credential must be in the format |host:key:secret|', ExpressKitErrorCode_1.default.InvalidCrossServerCredentialsFormat);
|
|
73
|
-
}
|
|
74
|
-
// Return the credential
|
|
75
|
-
return {
|
|
76
|
-
host: parts[0].trim(),
|
|
77
|
-
key: parts[1].trim(),
|
|
78
|
-
secret: parts[2].trim(),
|
|
79
|
-
};
|
|
80
|
-
}));
|
|
81
|
-
/*------------------------------------------------------------------------*/
|
|
82
|
-
/* ------------------------------- Helpers ------------------------------ */
|
|
83
|
-
/*------------------------------------------------------------------------*/
|
|
84
|
-
/**
|
|
85
|
-
* Get the credential to use for the request to another server
|
|
86
|
-
* @author Gabe Abrams
|
|
87
|
-
* @param host the host of the other server
|
|
88
|
-
* @return the credential to use
|
|
89
|
-
*/
|
|
90
|
-
var getCrossServerCredential = function (host) {
|
|
91
|
-
// Find the credential
|
|
92
|
-
var credential = credentials.find(function (cred) {
|
|
93
|
-
return cred.host.toLowerCase() === host.toLowerCase();
|
|
94
|
-
});
|
|
95
|
-
if (!credential) {
|
|
96
|
-
throw new dce_reactkit_1.ErrorWithCode('Cannot send cross-server signed request there was no credential that matched the host that the request is being sent to.', ExpressKitErrorCode_1.default.CrossServerNoCredentialsToSignWith);
|
|
97
|
-
}
|
|
98
|
-
// Return credential
|
|
99
|
-
return credential;
|
|
100
|
-
};
|
|
101
|
-
/*------------------------------------------------------------------------*/
|
|
102
47
|
/* -------------------------------- Main -------------------------------- */
|
|
103
48
|
/*------------------------------------------------------------------------*/
|
|
104
49
|
/**
|
|
@@ -112,30 +57,18 @@ var getCrossServerCredential = function (host) {
|
|
|
112
57
|
* @param [opts.responseType=JSON] the response type from the other server
|
|
113
58
|
*/
|
|
114
59
|
var visitEndpointOnAnotherServer = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
key: credential.key,
|
|
126
|
-
secret: credential.secret,
|
|
127
|
-
})];
|
|
60
|
+
var response, body;
|
|
61
|
+
return __generator(this, function (_a) {
|
|
62
|
+
switch (_a.label) {
|
|
63
|
+
case 0: return [4 /*yield*/, (0, sendServerToServerRequest_1.default)({
|
|
64
|
+
path: opts.path,
|
|
65
|
+
host: opts.host,
|
|
66
|
+
method: opts.method,
|
|
67
|
+
params: opts.params,
|
|
68
|
+
responseType: opts.responseType,
|
|
69
|
+
})];
|
|
128
70
|
case 1:
|
|
129
|
-
|
|
130
|
-
return [4 /*yield*/, (0, sendServerToServerRequest_1.default)({
|
|
131
|
-
path: opts.path,
|
|
132
|
-
host: opts.host,
|
|
133
|
-
method: opts.method,
|
|
134
|
-
params: augmentedParams,
|
|
135
|
-
responseType: opts.responseType,
|
|
136
|
-
})];
|
|
137
|
-
case 2:
|
|
138
|
-
response = _b.sent();
|
|
71
|
+
response = _a.sent();
|
|
139
72
|
// Check for failure
|
|
140
73
|
if (!response || !response.body) {
|
|
141
74
|
throw new dce_reactkit_1.ErrorWithCode('We didn\'t get a response from the other server. Please check the network between the two connection.', dce_reactkit_1.ReactKitErrorCode.NoResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/visitEndpointOnAnotherServer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/visitEndpointOnAnotherServer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sBAAsB;AACtB,6CAGsB;AAEtB,sBAAsB;AACtB,0FAAoE;AAEpE,4EAA4E;AAC5E,4EAA4E;AAC5E,4EAA4E;AAE5E;;;;;;;;;GASG;AACH,IAAM,4BAA4B,GAAG,UACnC,IAMC;;;;oBAGgB,qBAAM,IAAA,mCAAyB,EAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;iBAChC,CAAC,EAAA;;gBANI,QAAQ,GAAG,SAMf;gBAEF,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAChC,MAAM,IAAI,4BAAa,CACrB,uGAAuG,EACvG,gCAAiB,CAAC,UAAU,CAC7B,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC3B,eAAe;oBACf,MAAM,IAAI,4BAAa,CACrB,CACE,QAAQ,CAAC,IAAI,CAAC,OAAO;2BAClB,qDAAqD,CACzD,EACD,CACE,QAAQ,CAAC,IAAI,CAAC,IAAI;2BACf,gCAAiB,CAAC,MAAM,CAC5B,CACF,CAAC;gBACJ,CAAC;gBAGO,IAAI,GAAK,QAAQ,CAAC,IAAI,KAAlB,CAAmB;gBAE/B,SAAS;gBACT,sBAAO,IAAI,EAAC;;;KACb,CAAC;AAEF,kBAAe,4BAA4B,CAAC"}
|
|
@@ -38,13 +38,70 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
|
+
var _a;
|
|
41
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
43
|
// Import libs
|
|
43
44
|
var qs_1 = __importDefault(require("qs"));
|
|
44
45
|
// Import dce-reactkit
|
|
45
46
|
var dce_reactkit_1 = require("dce-reactkit");
|
|
47
|
+
// Import data signer
|
|
48
|
+
var dataSigner_1 = require("../dataSigner");
|
|
46
49
|
// Import shared types
|
|
47
50
|
var ExpressKitErrorCode_1 = __importDefault(require("../../types/ExpressKitErrorCode"));
|
|
51
|
+
/*------------------------------------------------------------------------*/
|
|
52
|
+
/* ----------------------------- Credentials ---------------------------- */
|
|
53
|
+
/*------------------------------------------------------------------------*/
|
|
54
|
+
/*
|
|
55
|
+
DCEKIT_CROSS_SERVER_CREDENTIALS format:
|
|
56
|
+
|host:key:secret||host:key:secret|...
|
|
57
|
+
*/
|
|
58
|
+
var credentials = (((_a = process.env.DCEKIT_CROSS_SERVER_CREDENTIALS) !== null && _a !== void 0 ? _a : '')
|
|
59
|
+
// Replace multiple | with a single one
|
|
60
|
+
.replace(/\|+/g, '|')
|
|
61
|
+
// Split by |
|
|
62
|
+
.split('|')
|
|
63
|
+
// Remove empty strings
|
|
64
|
+
.filter(function (str) {
|
|
65
|
+
return str.trim().length > 0;
|
|
66
|
+
})
|
|
67
|
+
// Process each credential
|
|
68
|
+
.map(function (str) {
|
|
69
|
+
// Split by :
|
|
70
|
+
var parts = str.split(':');
|
|
71
|
+
// Check for errors
|
|
72
|
+
if (parts.length !== 3) {
|
|
73
|
+
throw new dce_reactkit_1.ErrorWithCode('Invalid DCEKIT_CROSS_SERVER_CREDENTIALS format. Each credential must be in the format |host:key:secret|', ExpressKitErrorCode_1.default.InvalidCrossServerCredentialsFormat);
|
|
74
|
+
}
|
|
75
|
+
// Return the credential
|
|
76
|
+
return {
|
|
77
|
+
host: parts[0].trim(),
|
|
78
|
+
key: parts[1].trim(),
|
|
79
|
+
secret: parts[2].trim(),
|
|
80
|
+
};
|
|
81
|
+
}));
|
|
82
|
+
/*------------------------------------------------------------------------*/
|
|
83
|
+
/* ------------------------------- Helpers ------------------------------ */
|
|
84
|
+
/*------------------------------------------------------------------------*/
|
|
85
|
+
/**
|
|
86
|
+
* Get the credential to use for the request to another server
|
|
87
|
+
* @author Gabe Abrams
|
|
88
|
+
* @param host the host of the other server
|
|
89
|
+
* @return the credential to use
|
|
90
|
+
*/
|
|
91
|
+
var getCrossServerCredential = function (host) {
|
|
92
|
+
// Find the credential
|
|
93
|
+
var credential = credentials.find(function (cred) {
|
|
94
|
+
return cred.host.toLowerCase() === host.toLowerCase();
|
|
95
|
+
});
|
|
96
|
+
if (!credential) {
|
|
97
|
+
throw new dce_reactkit_1.ErrorWithCode('Cannot send cross-server signed request there was no credential that matched the host that the request is being sent to.', ExpressKitErrorCode_1.default.CrossServerNoCredentialsToSignWith);
|
|
98
|
+
}
|
|
99
|
+
// Return credential
|
|
100
|
+
return credential;
|
|
101
|
+
};
|
|
102
|
+
/*------------------------------------------------------------------------*/
|
|
103
|
+
/* -------------------------------- Main -------------------------------- */
|
|
104
|
+
/*------------------------------------------------------------------------*/
|
|
48
105
|
/**
|
|
49
106
|
* Sends and retries an http request
|
|
50
107
|
* @author Gabriel Abrams
|
|
@@ -57,7 +114,7 @@ var ExpressKitErrorCode_1 = __importDefault(require("../../types/ExpressKitError
|
|
|
57
114
|
* @returns { body, status, headers } on success
|
|
58
115
|
*/
|
|
59
116
|
var sendServerToServerRequest = function (opts) { return __awaiter(void 0, void 0, void 0, function () {
|
|
60
|
-
var method, params, stringifiedParams, query, url, headers, data, encodedData, response, responseHeaders_1, responseBody, err_1, err_2;
|
|
117
|
+
var method, params, credential, stringifiedParams, query, url, headers, data, encodedData, response, responseHeaders_1, responseBody, err_1, err_2;
|
|
61
118
|
var _a;
|
|
62
119
|
return __generator(this, function (_b) {
|
|
63
120
|
switch (_b.label) {
|
|
@@ -75,6 +132,17 @@ var sendServerToServerRequest = function (opts) { return __awaiter(void 0, void
|
|
|
75
132
|
}
|
|
76
133
|
});
|
|
77
134
|
}
|
|
135
|
+
credential = getCrossServerCredential(opts.host);
|
|
136
|
+
return [4 /*yield*/, (0, dataSigner_1.signRequest)({
|
|
137
|
+
method: opts.method,
|
|
138
|
+
path: opts.path,
|
|
139
|
+
params: params !== null && params !== void 0 ? params : {},
|
|
140
|
+
key: credential.key,
|
|
141
|
+
secret: credential.secret,
|
|
142
|
+
})];
|
|
143
|
+
case 1:
|
|
144
|
+
// Sign the request, get new params
|
|
145
|
+
params = _b.sent();
|
|
78
146
|
stringifiedParams = qs_1.default.stringify(params || {}, {
|
|
79
147
|
encodeValuesOnly: true,
|
|
80
148
|
arrayFormat: 'brackets',
|
|
@@ -107,9 +175,9 @@ var sendServerToServerRequest = function (opts) { return __awaiter(void 0, void
|
|
|
107
175
|
encodedData = JSON.stringify(data);
|
|
108
176
|
}
|
|
109
177
|
}
|
|
110
|
-
_b.label =
|
|
111
|
-
case
|
|
112
|
-
_b.trys.push([
|
|
178
|
+
_b.label = 2;
|
|
179
|
+
case 2:
|
|
180
|
+
_b.trys.push([2, 11, , 12]);
|
|
113
181
|
return [4 /*yield*/, fetch(url, {
|
|
114
182
|
method: method,
|
|
115
183
|
mode: 'cors',
|
|
@@ -119,40 +187,40 @@ var sendServerToServerRequest = function (opts) { return __awaiter(void 0, void
|
|
|
119
187
|
: undefined),
|
|
120
188
|
redirect: 'follow',
|
|
121
189
|
})];
|
|
122
|
-
case
|
|
190
|
+
case 3:
|
|
123
191
|
response = _b.sent();
|
|
124
192
|
responseHeaders_1 = {};
|
|
125
193
|
response.headers.forEach(function (value, key) {
|
|
126
194
|
responseHeaders_1[key] = value;
|
|
127
195
|
});
|
|
128
|
-
_b.label =
|
|
129
|
-
case
|
|
130
|
-
_b.trys.push([
|
|
196
|
+
_b.label = 4;
|
|
197
|
+
case 4:
|
|
198
|
+
_b.trys.push([4, 9, , 10]);
|
|
131
199
|
responseBody = void 0;
|
|
132
200
|
if (!(opts.responseType
|
|
133
|
-
&& opts.responseType === 'Text')) return [3 /*break*/,
|
|
201
|
+
&& opts.responseType === 'Text')) return [3 /*break*/, 6];
|
|
134
202
|
return [4 /*yield*/, response.text()];
|
|
135
|
-
case
|
|
203
|
+
case 5:
|
|
136
204
|
// Response type is text
|
|
137
205
|
responseBody = _b.sent();
|
|
138
|
-
return [3 /*break*/,
|
|
139
|
-
case
|
|
140
|
-
case
|
|
206
|
+
return [3 /*break*/, 8];
|
|
207
|
+
case 6: return [4 /*yield*/, response.json()];
|
|
208
|
+
case 7:
|
|
141
209
|
// Response type is JSON
|
|
142
210
|
responseBody = _b.sent();
|
|
143
|
-
_b.label =
|
|
144
|
-
case
|
|
211
|
+
_b.label = 8;
|
|
212
|
+
case 8:
|
|
145
213
|
// Return response
|
|
146
214
|
return [2 /*return*/, {
|
|
147
215
|
body: responseBody,
|
|
148
216
|
status: response.status,
|
|
149
217
|
headers: responseHeaders_1,
|
|
150
218
|
}];
|
|
151
|
-
case
|
|
219
|
+
case 9:
|
|
152
220
|
err_1 = _b.sent();
|
|
153
221
|
throw new dce_reactkit_1.ErrorWithCode("Failed to parse response as ".concat(opts.responseType, ": ").concat(err_1 === null || err_1 === void 0 ? void 0 : err_1.message), ExpressKitErrorCode_1.default.ResponseParseError);
|
|
154
|
-
case
|
|
155
|
-
case
|
|
222
|
+
case 10: return [3 /*break*/, 12];
|
|
223
|
+
case 11:
|
|
156
224
|
err_2 = _b.sent();
|
|
157
225
|
// Self-signed certificate error:
|
|
158
226
|
if ((_a = err_2 === null || err_2 === void 0 ? void 0 : err_2.message) === null || _a === void 0 ? void 0 : _a.includes('self signed certificate')) {
|
|
@@ -160,7 +228,7 @@ var sendServerToServerRequest = function (opts) { return __awaiter(void 0, void
|
|
|
160
228
|
}
|
|
161
229
|
// No tries left
|
|
162
230
|
throw new dce_reactkit_1.ErrorWithCode("We encountered an error when trying to send a network request. If this issue persists, contact an admin. Error: ".concat(err_2 === null || err_2 === void 0 ? void 0 : err_2.message), ExpressKitErrorCode_1.default.NotConnected);
|
|
163
|
-
case
|
|
231
|
+
case 12: return [2 /*return*/];
|
|
164
232
|
}
|
|
165
233
|
});
|
|
166
234
|
}); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendServerToServerRequest.js","sourceRoot":"","sources":["../../../src/helpers/visitEndpointOnAnotherServer/sendServerToServerRequest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sendServerToServerRequest.js","sourceRoot":"","sources":["../../../src/helpers/visitEndpointOnAnotherServer/sendServerToServerRequest.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -172,6 +172,7 @@ export const signRequest = async (
|
|
|
172
172
|
// Add signature to the augmented params
|
|
173
173
|
augmentedParams.oauth_signature = signature;
|
|
174
174
|
|
|
175
|
+
|
|
175
176
|
// Return the augmented params
|
|
176
177
|
return augmentedParams;
|
|
177
178
|
};
|
|
@@ -233,6 +234,7 @@ export const validateSignedRequest = async (
|
|
|
233
234
|
method,
|
|
234
235
|
path,
|
|
235
236
|
params,
|
|
237
|
+
scope,
|
|
236
238
|
} = opts;
|
|
237
239
|
|
|
238
240
|
/* ------- Look Up Credential ------- */
|
|
@@ -247,19 +249,25 @@ export const validateSignedRequest = async (
|
|
|
247
249
|
}
|
|
248
250
|
|
|
249
251
|
// Get the cross-server credential
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
if (!crossServerCredential) {
|
|
252
|
+
const crossServerCredentialMatches: CrossServerCredential[] = await crossServerCredentialCollection.find({ key });
|
|
253
|
+
if (!crossServerCredentialMatches || crossServerCredentialMatches.length === 0) {
|
|
253
254
|
throw new ErrorWithCode(
|
|
254
255
|
'Could not validate a cross-server request because the credential was not found.',
|
|
255
256
|
ExpressKitErrorCode.SignedRequestInvalidCredential,
|
|
256
257
|
);
|
|
257
258
|
}
|
|
259
|
+
const crossServerCredential = crossServerCredentialMatches[0];
|
|
258
260
|
|
|
259
261
|
// Make sure the scope is included
|
|
260
262
|
const allowedScopes = crossServerCredential.scopes;
|
|
261
|
-
|
|
262
|
-
|
|
263
|
+
if (!allowedScopes || !Array.isArray(allowedScopes)) {
|
|
264
|
+
throw new ErrorWithCode(
|
|
265
|
+
'Could not validate a cross-server request because the credential does not have access to any scopes.',
|
|
266
|
+
ExpressKitErrorCode.SignedRequestInvalidScope,
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
}
|
|
270
|
+
if (!allowedScopes.includes(scope)) {
|
|
263
271
|
throw new ErrorWithCode(
|
|
264
272
|
'Could not validate a cross-server request because the required scope was not approved for the credential.',
|
|
265
273
|
ExpressKitErrorCode.SignedRequestInvalidScope,
|
|
@@ -268,15 +276,27 @@ export const validateSignedRequest = async (
|
|
|
268
276
|
|
|
269
277
|
// Decode the secret
|
|
270
278
|
const secret = await decrypt(crossServerCredential.encodedeSecret);
|
|
271
|
-
console.log('Decoded secret:', secret);
|
|
272
279
|
|
|
273
280
|
/* -------- Verify Signature -------- */
|
|
274
281
|
|
|
282
|
+
// Curate what goes into the params
|
|
283
|
+
const paramsToSign: {
|
|
284
|
+
[key: string]: any,
|
|
285
|
+
} = {
|
|
286
|
+
...params,
|
|
287
|
+
};
|
|
288
|
+
Object.keys(paramsToSign).forEach((key) => {
|
|
289
|
+
// Delete oauth params
|
|
290
|
+
if (key.startsWith('oauth_')) {
|
|
291
|
+
delete paramsToSign[key];
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
|
|
275
295
|
// Generate a new signature to compare
|
|
276
296
|
const expectedSignature = await genSignature({
|
|
277
297
|
method,
|
|
278
298
|
path,
|
|
279
|
-
params,
|
|
299
|
+
params: paramsToSign,
|
|
280
300
|
secret,
|
|
281
301
|
});
|
|
282
302
|
|
|
@@ -290,7 +310,7 @@ export const validateSignedRequest = async (
|
|
|
290
310
|
|
|
291
311
|
// Make sure the timestamp was recent enough
|
|
292
312
|
const elapsedMs = Math.abs(Date.now() - timestamp);
|
|
293
|
-
if (elapsedMs
|
|
313
|
+
if (elapsedMs > MINUTE_IN_MS) {
|
|
294
314
|
throw new ErrorWithCode(
|
|
295
315
|
'Could not validate a cross-server request because the request was too old.',
|
|
296
316
|
ExpressKitErrorCode.SignedRequestInvalidTimestamp,
|
|
@@ -153,15 +153,21 @@ const genRouteHandler = (
|
|
|
153
153
|
|
|
154
154
|
if (crossServerScope) {
|
|
155
155
|
try {
|
|
156
|
+
// Create params to sign (specifically exclude path params)
|
|
157
|
+
const paramsToSign = {
|
|
158
|
+
...req.body,
|
|
159
|
+
...req.query,
|
|
160
|
+
};
|
|
161
|
+
|
|
156
162
|
// Validate the request body
|
|
157
163
|
await validateSignedRequest({
|
|
158
164
|
method: req.method ?? 'GET',
|
|
159
165
|
path: req.path,
|
|
160
166
|
scope: crossServerScope,
|
|
161
|
-
params:
|
|
167
|
+
params: paramsToSign,
|
|
162
168
|
});
|
|
163
169
|
|
|
164
|
-
// Valid! Remove oauth values
|
|
170
|
+
// Valid! Remove oauth values because they're no longer needed, and shouldn't be passed to the handler
|
|
165
171
|
Object.keys(requestBody).forEach((key) => {
|
|
166
172
|
if (key.startsWith('oauth_')) {
|
|
167
173
|
delete requestBody[key];
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
LOG_REVIEW_ROUTE_PATH_PREFIX,
|
|
13
13
|
LOG_ROUTE_PATH,
|
|
14
14
|
LOG_REVIEW_STATUS_ROUTE,
|
|
15
|
+
Log,
|
|
15
16
|
} from 'dce-reactkit';
|
|
16
17
|
|
|
17
18
|
// Import shared helpers
|
|
@@ -19,12 +20,13 @@ import genRouteHandler from './genRouteHandler';
|
|
|
19
20
|
|
|
20
21
|
// Import shared types
|
|
21
22
|
import ExpressKitErrorCode from '../types/ExpressKitErrorCode';
|
|
23
|
+
import CrossServerCredential from '../types/CrossServerCredential';
|
|
22
24
|
|
|
23
25
|
// Stored copy of dce-mango log collection
|
|
24
|
-
let _logCollection:
|
|
26
|
+
let _logCollection: Collection<Log>;
|
|
25
27
|
|
|
26
28
|
// Stored copy of dce-mango cross-server credential collection
|
|
27
|
-
let _crossServerCredentialCollection:
|
|
29
|
+
let _crossServerCredentialCollection: Collection<CrossServerCredential>;
|
|
28
30
|
|
|
29
31
|
/*------------------------------------------------------------------------*/
|
|
30
32
|
/* Helpers */
|
|
@@ -78,8 +80,8 @@ const initServer = (
|
|
|
78
80
|
opts: {
|
|
79
81
|
app: express.Application,
|
|
80
82
|
logReviewAdmins?: (number[] | Collection<any>),
|
|
81
|
-
logCollection?: Collection<
|
|
82
|
-
crossServerCredentialCollection?: Collection<
|
|
83
|
+
logCollection?: Collection<Log>,
|
|
84
|
+
crossServerCredentialCollection?: Collection<CrossServerCredential>,
|
|
83
85
|
},
|
|
84
86
|
) => {
|
|
85
87
|
_logCollection = opts.logCollection;
|
|
@@ -4,84 +4,9 @@ import {
|
|
|
4
4
|
ReactKitErrorCode,
|
|
5
5
|
} from 'dce-reactkit';
|
|
6
6
|
|
|
7
|
-
// Import data signer
|
|
8
|
-
import { signRequest } from '../dataSigner';
|
|
9
|
-
|
|
10
7
|
// Import shared types
|
|
11
|
-
import ExpressKitErrorCode from '../../types/ExpressKitErrorCode';
|
|
12
8
|
import sendServerToServerRequest from './sendServerToServerRequest';
|
|
13
9
|
|
|
14
|
-
/*------------------------------------------------------------------------*/
|
|
15
|
-
/* ----------------------------- Credentials ---------------------------- */
|
|
16
|
-
/*------------------------------------------------------------------------*/
|
|
17
|
-
|
|
18
|
-
/*
|
|
19
|
-
DCEKIT_CROSS_SERVER_CREDENTIALS format:
|
|
20
|
-
|host:key:secret||host:key:secret|...
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
const credentials: {
|
|
24
|
-
host: string,
|
|
25
|
-
key: string,
|
|
26
|
-
secret: string,
|
|
27
|
-
}[] = (
|
|
28
|
-
(process.env.DCEKIT_CROSS_SERVER_CREDENTIALS ?? '')
|
|
29
|
-
// Replace multiple | with a single one
|
|
30
|
-
.replace(/\|+/g, '|')
|
|
31
|
-
// Split by |
|
|
32
|
-
.split('|')
|
|
33
|
-
// Remove empty strings
|
|
34
|
-
.filter((str) => {
|
|
35
|
-
return str.trim().length > 0;
|
|
36
|
-
})
|
|
37
|
-
// Process each credential
|
|
38
|
-
.map((str) => {
|
|
39
|
-
// Split by :
|
|
40
|
-
const parts = str.split(':');
|
|
41
|
-
|
|
42
|
-
// Check for errors
|
|
43
|
-
if (parts.length !== 3) {
|
|
44
|
-
throw new ErrorWithCode(
|
|
45
|
-
'Invalid DCEKIT_CROSS_SERVER_CREDENTIALS format. Each credential must be in the format |host:key:secret|',
|
|
46
|
-
ExpressKitErrorCode.InvalidCrossServerCredentialsFormat,
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Return the credential
|
|
51
|
-
return {
|
|
52
|
-
host: parts[0].trim(),
|
|
53
|
-
key: parts[1].trim(),
|
|
54
|
-
secret: parts[2].trim(),
|
|
55
|
-
};
|
|
56
|
-
})
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
/*------------------------------------------------------------------------*/
|
|
60
|
-
/* ------------------------------- Helpers ------------------------------ */
|
|
61
|
-
/*------------------------------------------------------------------------*/
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Get the credential to use for the request to another server
|
|
65
|
-
* @author Gabe Abrams
|
|
66
|
-
* @param host the host of the other server
|
|
67
|
-
* @return the credential to use
|
|
68
|
-
*/
|
|
69
|
-
const getCrossServerCredential = (host: string) => {
|
|
70
|
-
// Find the credential
|
|
71
|
-
const credential = credentials.find((cred) => {
|
|
72
|
-
return cred.host.toLowerCase() === host.toLowerCase();
|
|
73
|
-
});
|
|
74
|
-
if (!credential) {
|
|
75
|
-
throw new ErrorWithCode(
|
|
76
|
-
'Cannot send cross-server signed request there was no credential that matched the host that the request is being sent to.',
|
|
77
|
-
ExpressKitErrorCode.CrossServerNoCredentialsToSignWith,
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Return credential
|
|
82
|
-
return credential;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
10
|
/*------------------------------------------------------------------------*/
|
|
86
11
|
/* -------------------------------- Main -------------------------------- */
|
|
87
12
|
/*------------------------------------------------------------------------*/
|
|
@@ -105,24 +30,12 @@ const visitEndpointOnAnotherServer = async (
|
|
|
105
30
|
responseType?: 'JSON' | 'Text',
|
|
106
31
|
},
|
|
107
32
|
): Promise<any> => {
|
|
108
|
-
// Get cross-server credential
|
|
109
|
-
const credential = getCrossServerCredential(opts.host);
|
|
110
|
-
|
|
111
|
-
// Sign the request, get new params
|
|
112
|
-
const augmentedParams = await signRequest({
|
|
113
|
-
method: opts.method,
|
|
114
|
-
path: opts.path,
|
|
115
|
-
params: opts.params ?? {},
|
|
116
|
-
key: credential.key,
|
|
117
|
-
secret: credential.secret,
|
|
118
|
-
});
|
|
119
|
-
|
|
120
33
|
// Send the request
|
|
121
34
|
const response = await sendServerToServerRequest({
|
|
122
35
|
path: opts.path,
|
|
123
36
|
host: opts.host,
|
|
124
37
|
method: opts.method,
|
|
125
|
-
params:
|
|
38
|
+
params: opts.params,
|
|
126
39
|
responseType: opts.responseType,
|
|
127
40
|
});
|
|
128
41
|
|
|
@@ -6,9 +6,87 @@ import {
|
|
|
6
6
|
ErrorWithCode,
|
|
7
7
|
} from 'dce-reactkit';
|
|
8
8
|
|
|
9
|
+
// Import data signer
|
|
10
|
+
import { signRequest } from '../dataSigner';
|
|
11
|
+
|
|
9
12
|
// Import shared types
|
|
10
13
|
import ExpressKitErrorCode from '../../types/ExpressKitErrorCode';
|
|
11
14
|
|
|
15
|
+
/*------------------------------------------------------------------------*/
|
|
16
|
+
/* ----------------------------- Credentials ---------------------------- */
|
|
17
|
+
/*------------------------------------------------------------------------*/
|
|
18
|
+
|
|
19
|
+
/*
|
|
20
|
+
DCEKIT_CROSS_SERVER_CREDENTIALS format:
|
|
21
|
+
|host:key:secret||host:key:secret|...
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const credentials: {
|
|
25
|
+
host: string,
|
|
26
|
+
key: string,
|
|
27
|
+
secret: string,
|
|
28
|
+
}[] = (
|
|
29
|
+
(process.env.DCEKIT_CROSS_SERVER_CREDENTIALS ?? '')
|
|
30
|
+
// Replace multiple | with a single one
|
|
31
|
+
.replace(/\|+/g, '|')
|
|
32
|
+
// Split by |
|
|
33
|
+
.split('|')
|
|
34
|
+
// Remove empty strings
|
|
35
|
+
.filter((str) => {
|
|
36
|
+
return str.trim().length > 0;
|
|
37
|
+
})
|
|
38
|
+
// Process each credential
|
|
39
|
+
.map((str) => {
|
|
40
|
+
// Split by :
|
|
41
|
+
const parts = str.split(':');
|
|
42
|
+
|
|
43
|
+
// Check for errors
|
|
44
|
+
if (parts.length !== 3) {
|
|
45
|
+
throw new ErrorWithCode(
|
|
46
|
+
'Invalid DCEKIT_CROSS_SERVER_CREDENTIALS format. Each credential must be in the format |host:key:secret|',
|
|
47
|
+
ExpressKitErrorCode.InvalidCrossServerCredentialsFormat,
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Return the credential
|
|
52
|
+
return {
|
|
53
|
+
host: parts[0].trim(),
|
|
54
|
+
key: parts[1].trim(),
|
|
55
|
+
secret: parts[2].trim(),
|
|
56
|
+
};
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
/*------------------------------------------------------------------------*/
|
|
61
|
+
/* ------------------------------- Helpers ------------------------------ */
|
|
62
|
+
/*------------------------------------------------------------------------*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get the credential to use for the request to another server
|
|
66
|
+
* @author Gabe Abrams
|
|
67
|
+
* @param host the host of the other server
|
|
68
|
+
* @return the credential to use
|
|
69
|
+
*/
|
|
70
|
+
const getCrossServerCredential = (host: string) => {
|
|
71
|
+
// Find the credential
|
|
72
|
+
const credential = credentials.find((cred) => {
|
|
73
|
+
return cred.host.toLowerCase() === host.toLowerCase();
|
|
74
|
+
});
|
|
75
|
+
if (!credential) {
|
|
76
|
+
throw new ErrorWithCode(
|
|
77
|
+
'Cannot send cross-server signed request there was no credential that matched the host that the request is being sent to.',
|
|
78
|
+
ExpressKitErrorCode.CrossServerNoCredentialsToSignWith,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Return credential
|
|
83
|
+
return credential;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/*------------------------------------------------------------------------*/
|
|
87
|
+
/* -------------------------------- Main -------------------------------- */
|
|
88
|
+
/*------------------------------------------------------------------------*/
|
|
89
|
+
|
|
12
90
|
/**
|
|
13
91
|
* Sends and retries an http request
|
|
14
92
|
* @author Gabriel Abrams
|
|
@@ -51,12 +129,27 @@ const sendServerToServerRequest = async (
|
|
|
51
129
|
});
|
|
52
130
|
}
|
|
53
131
|
|
|
54
|
-
//
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
132
|
+
// Get cross-server credential
|
|
133
|
+
const credential = getCrossServerCredential(opts.host);
|
|
134
|
+
|
|
135
|
+
// Sign the request, get new params
|
|
136
|
+
params = await signRequest({
|
|
137
|
+
method: opts.method,
|
|
138
|
+
path: opts.path,
|
|
139
|
+
params: params ?? {},
|
|
140
|
+
key: credential.key,
|
|
141
|
+
secret: credential.secret,
|
|
58
142
|
});
|
|
59
143
|
|
|
144
|
+
// Stringify parameters
|
|
145
|
+
const stringifiedParams = qs.stringify(
|
|
146
|
+
params || {},
|
|
147
|
+
{
|
|
148
|
+
encodeValuesOnly: true,
|
|
149
|
+
arrayFormat: 'brackets',
|
|
150
|
+
},
|
|
151
|
+
);
|
|
152
|
+
|
|
60
153
|
// Create url (include query if GET)
|
|
61
154
|
const query = (method === 'GET' ? `?${stringifiedParams}` : '');
|
|
62
155
|
let url;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import ROUTE_PATH_PREFIX from './ROUTE_PATH_PREFIX';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Route for checking the status of the current user's
|
|
5
|
-
* access to log review
|
|
6
|
-
* @author Gabe Abrams
|
|
7
|
-
*/
|
|
8
|
-
const LOG_REVIEW_STATUS_ROUTE = `${ROUTE_PATH_PREFIX}/logs/access_allowed`;
|
|
9
|
-
|
|
10
|
-
export default LOG_REVIEW_STATUS_ROUTE;
|