@oneuptime/common 10.0.5 → 10.0.7
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/Server/Middleware/UserAuthorization.ts +36 -0
- package/Server/Services/UserNotificationRuleService.ts +83 -0
- package/Server/Utils/Browser.ts +28 -1
- package/Server/Utils/VM/VMRunner.ts +181 -29
- package/Server/Views/Partials/Head.ejs +3 -1
- package/Tests/Server/Middleware/UserAuthorization.test.ts +1 -0
- package/build/dist/Server/Middleware/UserAuthorization.js +30 -1
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationRuleService.js +58 -5
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Utils/Browser.js +24 -1
- package/build/dist/Server/Utils/Browser.js.map +1 -1
- package/build/dist/Server/Utils/VM/VMRunner.js +163 -28
- package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +1 -0
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -116,6 +116,42 @@ export default class UserMiddleware {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
+
/*
|
|
120
|
+
* Also check x-sso-tokens header (mobile app flow).
|
|
121
|
+
* The header value is a JSON-encoded map of { projectId: ssoToken }.
|
|
122
|
+
*/
|
|
123
|
+
const ssoTokensHeader: string | undefined = req.headers["x-sso-tokens"] as
|
|
124
|
+
| string
|
|
125
|
+
| undefined;
|
|
126
|
+
|
|
127
|
+
if (ssoTokensHeader) {
|
|
128
|
+
try {
|
|
129
|
+
const headerTokens: Record<string, string> =
|
|
130
|
+
JSON.parse(ssoTokensHeader);
|
|
131
|
+
|
|
132
|
+
for (const projectId of Object.keys(headerTokens)) {
|
|
133
|
+
const token: string | undefined = headerTokens[projectId];
|
|
134
|
+
|
|
135
|
+
if (!token || typeof token !== "string") {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
try {
|
|
140
|
+
const decoded: JSONWebTokenData = JSONWebToken.decode(token);
|
|
141
|
+
|
|
142
|
+
if (decoded.projectId?.toString() === projectId) {
|
|
143
|
+
ssoTokens[projectId] = token;
|
|
144
|
+
}
|
|
145
|
+
} catch (err) {
|
|
146
|
+
logger.error(err);
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
} catch (err) {
|
|
151
|
+
logger.error(err);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
119
155
|
return ssoTokens;
|
|
120
156
|
}
|
|
121
157
|
|
|
@@ -1110,6 +1110,9 @@ export class Service extends DatabaseService<Model> {
|
|
|
1110
1110
|
...(alert.alertNumber !== undefined && {
|
|
1111
1111
|
alertNumber: alert.alertNumber,
|
|
1112
1112
|
}),
|
|
1113
|
+
...(alert.alertNumberWithPrefix && {
|
|
1114
|
+
alertNumberWithPrefix: alert.alertNumberWithPrefix,
|
|
1115
|
+
}),
|
|
1113
1116
|
alertId: alert.id!.toString(),
|
|
1114
1117
|
projectId: alert.projectId!.toString(),
|
|
1115
1118
|
});
|
|
@@ -1187,6 +1190,9 @@ export class Service extends DatabaseService<Model> {
|
|
|
1187
1190
|
...(incident.incidentNumber !== undefined && {
|
|
1188
1191
|
incidentNumber: incident.incidentNumber,
|
|
1189
1192
|
}),
|
|
1193
|
+
...(incident.incidentNumberWithPrefix && {
|
|
1194
|
+
incidentNumberWithPrefix: incident.incidentNumberWithPrefix,
|
|
1195
|
+
}),
|
|
1190
1196
|
incidentId: incident.id!.toString(),
|
|
1191
1197
|
projectId: incident.projectId!.toString(),
|
|
1192
1198
|
});
|
|
@@ -1309,6 +1315,83 @@ export class Service extends DatabaseService<Model> {
|
|
|
1309
1315
|
});
|
|
1310
1316
|
});
|
|
1311
1317
|
}
|
|
1318
|
+
|
|
1319
|
+
// send push notification for incident episode
|
|
1320
|
+
if (
|
|
1321
|
+
options.userNotificationEventType ===
|
|
1322
|
+
UserNotificationEventType.IncidentEpisodeCreated &&
|
|
1323
|
+
incidentEpisode
|
|
1324
|
+
) {
|
|
1325
|
+
logTimelineItem.status = UserNotificationStatus.Sending;
|
|
1326
|
+
logTimelineItem.statusMessage = `Sending push notification to device.`;
|
|
1327
|
+
logTimelineItem.userPushId = notificationRuleItem.userPush.id!;
|
|
1328
|
+
|
|
1329
|
+
const updatedLog: UserOnCallLogTimeline =
|
|
1330
|
+
await UserOnCallLogTimelineService.create({
|
|
1331
|
+
data: logTimelineItem,
|
|
1332
|
+
props: {
|
|
1333
|
+
isRoot: true,
|
|
1334
|
+
},
|
|
1335
|
+
});
|
|
1336
|
+
|
|
1337
|
+
const pushMessage: PushNotificationMessage =
|
|
1338
|
+
PushNotificationUtil.createIncidentEpisodeCreatedNotification({
|
|
1339
|
+
incidentEpisodeTitle: incidentEpisode.title!,
|
|
1340
|
+
projectName: incidentEpisode.project?.name || "OneUptime",
|
|
1341
|
+
incidentEpisodeViewLink: (
|
|
1342
|
+
await IncidentEpisodeService.getEpisodeLinkInDashboard(
|
|
1343
|
+
incidentEpisode.projectId!,
|
|
1344
|
+
incidentEpisode.id!,
|
|
1345
|
+
)
|
|
1346
|
+
).toString(),
|
|
1347
|
+
...(incidentEpisode.episodeNumber !== undefined && {
|
|
1348
|
+
episodeNumber: incidentEpisode.episodeNumber,
|
|
1349
|
+
}),
|
|
1350
|
+
...(incidentEpisode.episodeNumberWithPrefix && {
|
|
1351
|
+
episodeNumberWithPrefix: incidentEpisode.episodeNumberWithPrefix,
|
|
1352
|
+
}),
|
|
1353
|
+
incidentEpisodeId: incidentEpisode.id!.toString(),
|
|
1354
|
+
projectId: incidentEpisode.projectId!.toString(),
|
|
1355
|
+
});
|
|
1356
|
+
|
|
1357
|
+
PushNotificationService.sendPushNotification(
|
|
1358
|
+
{
|
|
1359
|
+
devices: [
|
|
1360
|
+
{
|
|
1361
|
+
token: notificationRuleItem.userPush.deviceToken!,
|
|
1362
|
+
...(notificationRuleItem.userPush.deviceName && {
|
|
1363
|
+
name: notificationRuleItem.userPush.deviceName,
|
|
1364
|
+
}),
|
|
1365
|
+
},
|
|
1366
|
+
],
|
|
1367
|
+
message: pushMessage,
|
|
1368
|
+
deviceType: notificationRuleItem.userPush
|
|
1369
|
+
.deviceType! as PushDeviceType,
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
projectId: options.projectId,
|
|
1373
|
+
userOnCallLogTimelineId: updatedLog.id!,
|
|
1374
|
+
userId: notificationRuleItem.userId!,
|
|
1375
|
+
onCallPolicyId: options.onCallPolicyId,
|
|
1376
|
+
onCallPolicyEscalationRuleId: options.onCallPolicyEscalationRuleId,
|
|
1377
|
+
teamId: options.userBelongsToTeamId,
|
|
1378
|
+
onCallDutyPolicyExecutionLogTimelineId:
|
|
1379
|
+
options.onCallDutyPolicyExecutionLogTimelineId,
|
|
1380
|
+
onCallScheduleId: options.onCallScheduleId,
|
|
1381
|
+
},
|
|
1382
|
+
).catch(async (err: Error) => {
|
|
1383
|
+
await UserOnCallLogTimelineService.updateOneById({
|
|
1384
|
+
id: updatedLog.id!,
|
|
1385
|
+
data: {
|
|
1386
|
+
status: UserNotificationStatus.Error,
|
|
1387
|
+
statusMessage: err.message || "Error sending push notification.",
|
|
1388
|
+
},
|
|
1389
|
+
props: {
|
|
1390
|
+
isRoot: true,
|
|
1391
|
+
},
|
|
1392
|
+
});
|
|
1393
|
+
});
|
|
1394
|
+
}
|
|
1312
1395
|
}
|
|
1313
1396
|
|
|
1314
1397
|
if (
|
package/Server/Utils/Browser.ts
CHANGED
|
@@ -16,6 +16,29 @@ export type Page = PlaywrightPage;
|
|
|
16
16
|
export type Browser = PlaywrightBrowser;
|
|
17
17
|
|
|
18
18
|
export default class BrowserUtil {
|
|
19
|
+
// Chromium arguments for stability in containerized environments
|
|
20
|
+
public static chromiumStabilityArgs: string[] = [
|
|
21
|
+
"--no-sandbox",
|
|
22
|
+
"--disable-setuid-sandbox",
|
|
23
|
+
"--disable-dev-shm-usage",
|
|
24
|
+
"--disable-gpu",
|
|
25
|
+
"--disable-software-rasterizer",
|
|
26
|
+
"--disable-dbus", // no D-Bus daemon in containers
|
|
27
|
+
"--disable-features=dbus", // additional D-Bus feature gate
|
|
28
|
+
"--no-zygote", // skip zygote process that fails OOM score adjustments in containers
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
// Firefox preferences for stability in containerized environments
|
|
32
|
+
public static firefoxStabilityPrefs: Record<
|
|
33
|
+
string,
|
|
34
|
+
string | number | boolean
|
|
35
|
+
> = {
|
|
36
|
+
"gfx.webrender.all": false, // disable GPU-based WebRender
|
|
37
|
+
"media.hardware-video-decoding.enabled": false, // disable hardware video decoding
|
|
38
|
+
"layers.acceleration.disabled": true, // disable GPU-accelerated layers
|
|
39
|
+
"network.http.spdy.enabled.http2": true, // keep HTTP/2 enabled
|
|
40
|
+
};
|
|
41
|
+
|
|
19
42
|
@CaptureSpan()
|
|
20
43
|
public static async convertHtmlToBase64Screenshot(data: {
|
|
21
44
|
html: string;
|
|
@@ -68,6 +91,8 @@ export default class BrowserUtil {
|
|
|
68
91
|
if (data.browserType === BrowserType.Chromium) {
|
|
69
92
|
browser = await chromium.launch({
|
|
70
93
|
executablePath: await BrowserUtil.getChromeExecutablePath(),
|
|
94
|
+
headless: true,
|
|
95
|
+
args: BrowserUtil.chromiumStabilityArgs,
|
|
71
96
|
});
|
|
72
97
|
page = await browser.newPage();
|
|
73
98
|
}
|
|
@@ -75,6 +100,8 @@ export default class BrowserUtil {
|
|
|
75
100
|
if (data.browserType === BrowserType.Firefox) {
|
|
76
101
|
browser = await firefox.launch({
|
|
77
102
|
executablePath: await BrowserUtil.getFirefoxExecutablePath(),
|
|
103
|
+
headless: true,
|
|
104
|
+
firefoxUserPrefs: BrowserUtil.firefoxStabilityPrefs,
|
|
78
105
|
});
|
|
79
106
|
page = await browser.newPage();
|
|
80
107
|
}
|
|
@@ -139,7 +166,7 @@ export default class BrowserUtil {
|
|
|
139
166
|
return { height: viewPortHeight, width: viewPortWidth };
|
|
140
167
|
}
|
|
141
168
|
|
|
142
|
-
|
|
169
|
+
public static getPlaywrightBrowsersPath(): string {
|
|
143
170
|
return (
|
|
144
171
|
process.env["PLAYWRIGHT_BROWSERS_PATH"] ||
|
|
145
172
|
`${os.homedir()}/.cache/ms-playwright`
|
|
@@ -77,22 +77,46 @@ export default class VMRunner {
|
|
|
77
77
|
};
|
|
78
78
|
`);
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
/*
|
|
81
|
+
* axios (get, head, options, post, put, patch, delete, request)
|
|
82
|
+
* bridged via applySyncPromise.
|
|
83
|
+
*
|
|
84
|
+
* For GET/HEAD/OPTIONS/DELETE: args = [method, url, configJson?]
|
|
85
|
+
* For POST/PUT/PATCH: args = [method, url, bodyJson?, configJson?]
|
|
86
|
+
* For REQUEST: args = ['request', '', configJson]
|
|
87
|
+
*/
|
|
81
88
|
const axiosRef: ivm.Reference<
|
|
82
|
-
(
|
|
89
|
+
(
|
|
90
|
+
method: string,
|
|
91
|
+
url: string,
|
|
92
|
+
arg1?: string,
|
|
93
|
+
arg2?: string,
|
|
94
|
+
) => Promise<string>
|
|
83
95
|
> = new ivm.Reference(
|
|
84
96
|
async (
|
|
85
97
|
method: string,
|
|
86
98
|
url: string,
|
|
87
|
-
|
|
99
|
+
arg1?: string,
|
|
100
|
+
arg2?: string,
|
|
88
101
|
): Promise<string> => {
|
|
89
|
-
const
|
|
90
|
-
|
|
102
|
+
const methodsWithBody: string[] = ["post", "put", "patch"];
|
|
103
|
+
const hasBody: boolean = methodsWithBody.includes(method);
|
|
104
|
+
|
|
105
|
+
/*
|
|
106
|
+
* For POST/PUT/PATCH: arg1=body, arg2=config
|
|
107
|
+
* For GET/HEAD/OPTIONS/DELETE/REQUEST: arg1=config
|
|
108
|
+
*/
|
|
109
|
+
const body: JSONObject | undefined =
|
|
110
|
+
hasBody && arg1 ? (JSON.parse(arg1) as JSONObject) : undefined;
|
|
111
|
+
|
|
112
|
+
const configStr: string | undefined = hasBody ? arg2 : arg1;
|
|
113
|
+
const config: JSONObject | undefined = configStr
|
|
114
|
+
? (JSON.parse(configStr) as JSONObject)
|
|
91
115
|
: undefined;
|
|
92
116
|
|
|
93
117
|
// Reconstruct real http/https Agents from serialized markers
|
|
94
|
-
if (
|
|
95
|
-
const httpsAgentConfig: JSONObject | undefined =
|
|
118
|
+
if (config) {
|
|
119
|
+
const httpsAgentConfig: JSONObject | undefined = config[
|
|
96
120
|
"httpsAgent"
|
|
97
121
|
] as JSONObject | undefined;
|
|
98
122
|
|
|
@@ -100,12 +124,12 @@ export default class VMRunner {
|
|
|
100
124
|
httpsAgentConfig &&
|
|
101
125
|
httpsAgentConfig["__agentType"] === "__https_agent__"
|
|
102
126
|
) {
|
|
103
|
-
|
|
127
|
+
config["httpsAgent"] = new https.Agent(
|
|
104
128
|
httpsAgentConfig["options"] as https.AgentOptions,
|
|
105
129
|
) as unknown as JSONObject;
|
|
106
130
|
}
|
|
107
131
|
|
|
108
|
-
const httpAgentConfig: JSONObject | undefined =
|
|
132
|
+
const httpAgentConfig: JSONObject | undefined = config[
|
|
109
133
|
"httpAgent"
|
|
110
134
|
] as JSONObject | undefined;
|
|
111
135
|
|
|
@@ -113,7 +137,7 @@ export default class VMRunner {
|
|
|
113
137
|
httpAgentConfig &&
|
|
114
138
|
httpAgentConfig["__agentType"] === "__http_agent__"
|
|
115
139
|
) {
|
|
116
|
-
|
|
140
|
+
config["httpAgent"] = new http.Agent(
|
|
117
141
|
httpAgentConfig["options"] as http.AgentOptions,
|
|
118
142
|
) as unknown as JSONObject;
|
|
119
143
|
}
|
|
@@ -123,24 +147,56 @@ export default class VMRunner {
|
|
|
123
147
|
|
|
124
148
|
switch (method) {
|
|
125
149
|
case "get":
|
|
126
|
-
response = await axios.get(url,
|
|
150
|
+
response = await axios.get(url, config);
|
|
151
|
+
break;
|
|
152
|
+
case "head":
|
|
153
|
+
response = await axios.head(url, config);
|
|
154
|
+
break;
|
|
155
|
+
case "options":
|
|
156
|
+
response = await axios.options(url, config);
|
|
127
157
|
break;
|
|
128
158
|
case "post":
|
|
129
|
-
response = await axios.post(url,
|
|
159
|
+
response = await axios.post(url, body, config);
|
|
130
160
|
break;
|
|
131
161
|
case "put":
|
|
132
|
-
response = await axios.put(url,
|
|
162
|
+
response = await axios.put(url, body, config);
|
|
163
|
+
break;
|
|
164
|
+
case "patch":
|
|
165
|
+
response = await axios.patch(url, body, config);
|
|
133
166
|
break;
|
|
134
167
|
case "delete":
|
|
135
|
-
response = await axios.delete(url,
|
|
168
|
+
response = await axios.delete(url, config);
|
|
169
|
+
break;
|
|
170
|
+
case "request":
|
|
171
|
+
response = await axios.request(
|
|
172
|
+
config as Parameters<typeof axios.request>[0],
|
|
173
|
+
);
|
|
136
174
|
break;
|
|
137
175
|
default:
|
|
138
176
|
throw new Error(`Unsupported HTTP method: ${method}`);
|
|
139
177
|
}
|
|
140
178
|
|
|
179
|
+
/*
|
|
180
|
+
* Convert AxiosHeaders to a plain object before serializing.
|
|
181
|
+
* JSON.stringify calls AxiosHeaders.toJSON(key) with a truthy key,
|
|
182
|
+
* which makes it join array headers (like set-cookie) with commas.
|
|
183
|
+
* This produces invalid Cookie headers when user code forwards them.
|
|
184
|
+
*/
|
|
185
|
+
const plainHeaders: Record<string, unknown> = {};
|
|
186
|
+
|
|
187
|
+
if (response.headers) {
|
|
188
|
+
for (const key of Object.keys(
|
|
189
|
+
response.headers as Record<string, unknown>,
|
|
190
|
+
)) {
|
|
191
|
+
plainHeaders[key] = (response.headers as Record<string, unknown>)[
|
|
192
|
+
key
|
|
193
|
+
];
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
141
197
|
return JSON.stringify({
|
|
142
198
|
status: response.status,
|
|
143
|
-
headers:
|
|
199
|
+
headers: plainHeaders,
|
|
144
200
|
data: response.data,
|
|
145
201
|
});
|
|
146
202
|
},
|
|
@@ -149,24 +205,120 @@ export default class VMRunner {
|
|
|
149
205
|
await jail.set("_axiosRef", axiosRef);
|
|
150
206
|
|
|
151
207
|
await context.eval(`
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
208
|
+
function _assertNoFunctions(obj, path) {
|
|
209
|
+
if (!obj || typeof obj !== 'object') return;
|
|
210
|
+
if (Array.isArray(obj)) {
|
|
211
|
+
for (let i = 0; i < obj.length; i++) {
|
|
212
|
+
const fullPath = path + '[' + i + ']';
|
|
213
|
+
if (typeof obj[i] === 'function') {
|
|
214
|
+
throw new Error(
|
|
215
|
+
'Functions are not supported in axios config because of security. ' +
|
|
216
|
+
'Found a function at "' + fullPath + '". Please remove it or replace it with a plain value.'
|
|
217
|
+
);
|
|
218
|
+
}
|
|
219
|
+
if (obj[i] && typeof obj[i] === 'object') {
|
|
220
|
+
_assertNoFunctions(obj[i], fullPath);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
for (const key of Object.keys(obj)) {
|
|
226
|
+
const fullPath = path ? path + '.' + key : key;
|
|
227
|
+
if (typeof obj[key] === 'function') {
|
|
228
|
+
throw new Error(
|
|
229
|
+
'Functions are not supported in axios config because of security. ' +
|
|
230
|
+
'Found a function at "' + fullPath + '". Please remove it or replace it with a plain value.'
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
if (obj[key] && typeof obj[key] === 'object') {
|
|
234
|
+
_assertNoFunctions(obj[key], fullPath);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
function _makeAxiosInstance(defaults) {
|
|
240
|
+
function mergeConfig(overrides) {
|
|
241
|
+
if (!defaults && !overrides) return undefined;
|
|
242
|
+
if (!defaults) return overrides;
|
|
243
|
+
if (!overrides) return Object.assign({}, defaults);
|
|
244
|
+
const merged = Object.assign({}, defaults, overrides);
|
|
245
|
+
if (defaults.headers && overrides.headers) {
|
|
246
|
+
merged.headers = Object.assign({}, defaults.headers, overrides.headers);
|
|
247
|
+
}
|
|
248
|
+
return merged;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
async function _request(config) {
|
|
252
|
+
const merged = mergeConfig(config);
|
|
253
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
254
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['request', '', merged ? JSON.stringify(merged) : undefined]);
|
|
155
255
|
return JSON.parse(r);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Make instance callable: axios(config) or axios(url, config)
|
|
259
|
+
const instance = async function(urlOrConfig, config) {
|
|
260
|
+
if (typeof urlOrConfig === 'object') {
|
|
261
|
+
return _request(urlOrConfig);
|
|
262
|
+
}
|
|
263
|
+
return _request(Object.assign({}, config || {}, { url: urlOrConfig }));
|
|
264
|
+
};
|
|
265
|
+
|
|
266
|
+
instance.request = _request;
|
|
267
|
+
instance.get = async (url, config) => {
|
|
268
|
+
const merged = mergeConfig(config);
|
|
269
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
270
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['get', url, merged ? JSON.stringify(merged) : undefined]);
|
|
159
271
|
return JSON.parse(r);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
const
|
|
272
|
+
};
|
|
273
|
+
instance.head = async (url, config) => {
|
|
274
|
+
const merged = mergeConfig(config);
|
|
275
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
276
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['head', url, merged ? JSON.stringify(merged) : undefined]);
|
|
163
277
|
return JSON.parse(r);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
const
|
|
278
|
+
};
|
|
279
|
+
instance.options = async (url, config) => {
|
|
280
|
+
const merged = mergeConfig(config);
|
|
281
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
282
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['options', url, merged ? JSON.stringify(merged) : undefined]);
|
|
167
283
|
return JSON.parse(r);
|
|
168
|
-
}
|
|
169
|
-
|
|
284
|
+
};
|
|
285
|
+
instance.post = async (url, data, config) => {
|
|
286
|
+
const merged = mergeConfig(config);
|
|
287
|
+
if (data) _assertNoFunctions(data, 'data');
|
|
288
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
289
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['post', url, data ? JSON.stringify(data) : undefined, merged ? JSON.stringify(merged) : undefined]);
|
|
290
|
+
return JSON.parse(r);
|
|
291
|
+
};
|
|
292
|
+
instance.put = async (url, data, config) => {
|
|
293
|
+
const merged = mergeConfig(config);
|
|
294
|
+
if (data) _assertNoFunctions(data, 'data');
|
|
295
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
296
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['put', url, data ? JSON.stringify(data) : undefined, merged ? JSON.stringify(merged) : undefined]);
|
|
297
|
+
return JSON.parse(r);
|
|
298
|
+
};
|
|
299
|
+
instance.patch = async (url, data, config) => {
|
|
300
|
+
const merged = mergeConfig(config);
|
|
301
|
+
if (data) _assertNoFunctions(data, 'data');
|
|
302
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
303
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['patch', url, data ? JSON.stringify(data) : undefined, merged ? JSON.stringify(merged) : undefined]);
|
|
304
|
+
return JSON.parse(r);
|
|
305
|
+
};
|
|
306
|
+
instance.delete = async (url, config) => {
|
|
307
|
+
const merged = mergeConfig(config);
|
|
308
|
+
if (merged) _assertNoFunctions(merged, 'config');
|
|
309
|
+
const r = await _axiosRef.applySyncPromise(undefined, ['delete', url, merged ? JSON.stringify(merged) : undefined]);
|
|
310
|
+
return JSON.parse(r);
|
|
311
|
+
};
|
|
312
|
+
instance.create = (instanceDefaults) => {
|
|
313
|
+
if (instanceDefaults) _assertNoFunctions(instanceDefaults, 'defaults');
|
|
314
|
+
const combinedDefaults = mergeConfig(instanceDefaults);
|
|
315
|
+
return _makeAxiosInstance(combinedDefaults);
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
return instance;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
const axios = _makeAxiosInstance(null);
|
|
170
322
|
`);
|
|
171
323
|
|
|
172
324
|
// crypto (createHash, createHmac, randomBytes) - bridged via applySync
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
2
2
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
3
|
+
<link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" as="style">
|
|
3
4
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap"
|
|
4
5
|
rel="stylesheet">
|
|
5
6
|
<style>
|
|
6
7
|
* {
|
|
7
|
-
font-family: Inter;
|
|
8
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
width: auto;
|
|
35
36
|
}
|
|
36
37
|
</style>
|
|
38
|
+
<link rel="preload" href="https://cdn.tailwindcss.com" as="script">
|
|
37
39
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
38
40
|
|
|
39
41
|
<!-- Google Tag Manager -->
|
|
@@ -55,7 +55,7 @@ export default class UserMiddleware {
|
|
|
55
55
|
return undefined;
|
|
56
56
|
}
|
|
57
57
|
static getSsoTokens(req) {
|
|
58
|
-
var _a;
|
|
58
|
+
var _a, _b;
|
|
59
59
|
const ssoTokens = {};
|
|
60
60
|
// get sso tokens from cookies.
|
|
61
61
|
const cookies = CookieUtil.getAllCookies(req);
|
|
@@ -78,6 +78,35 @@ export default class UserMiddleware {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
/*
|
|
82
|
+
* Also check x-sso-tokens header (mobile app flow).
|
|
83
|
+
* The header value is a JSON-encoded map of { projectId: ssoToken }.
|
|
84
|
+
*/
|
|
85
|
+
const ssoTokensHeader = req.headers["x-sso-tokens"];
|
|
86
|
+
if (ssoTokensHeader) {
|
|
87
|
+
try {
|
|
88
|
+
const headerTokens = JSON.parse(ssoTokensHeader);
|
|
89
|
+
for (const projectId of Object.keys(headerTokens)) {
|
|
90
|
+
const token = headerTokens[projectId];
|
|
91
|
+
if (!token || typeof token !== "string") {
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
const decoded = JSONWebToken.decode(token);
|
|
96
|
+
if (((_b = decoded.projectId) === null || _b === void 0 ? void 0 : _b.toString()) === projectId) {
|
|
97
|
+
ssoTokens[projectId] = token;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
logger.error(err);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
logger.error(err);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
81
110
|
return ssoTokens;
|
|
82
111
|
}
|
|
83
112
|
static doesSsoTokenForProjectExist(req, projectId, userId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAuthorization.js","sourceRoot":"","sources":["../../../../Server/Middleware/UserAuthorization.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UserAuthorization.js","sourceRoot":"","sources":["../../../../Server/Middleware/UserAuthorization.ts"],"names":[],"mappings":"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"}
|