@oneuptime/common 12.0.28 → 12.0.29
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/Models/DatabaseModels/DashboardDomain.ts +43 -0
- package/Models/DatabaseModels/MonitorTemplate.ts +15 -3
- package/Models/DatabaseModels/StatusPageDomain.ts +43 -0
- package/Server/API/DashboardDomainAPI.ts +74 -0
- package/Server/API/MicrosoftTeamsAPI.ts +81 -180
- package/Server/API/StatusPageDomainAPI.ts +74 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.ts +43 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.ts +40 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Middleware/ProjectAuthorization.ts +6 -1
- package/Server/Services/DashboardDomainService.ts +131 -0
- package/Server/Services/LogPipelineProcessorService.ts +88 -0
- package/Server/Services/MonitorTemplateService.ts +70 -11
- package/Server/Services/StatusPageDomainService.ts +163 -3
- package/Server/Services/StatusPagePrivateUserSessionService.ts +197 -56
- package/Server/Types/Domain.ts +17 -0
- package/Server/Utils/APIKey/AccessPermission.ts +24 -0
- package/Server/Utils/Greenlock/Greenlock.ts +156 -58
- package/Server/Utils/LogPipelineProcessorValidation.ts +112 -0
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.ts +1094 -45
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +153 -17
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.ts +23 -11
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.ts +0 -170
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.ts +158 -0
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +23 -11
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +35 -13
- package/Tests/App/Dashboard/MonitorTemplateColumnAndFacet.test.tsx +505 -0
- package/Tests/App/StatusPage/StatusPageLoginCodeBootstrap.test.ts +106 -0
- package/Tests/App/StatusPage/StatusPageLoginCodeUtil.test.ts +84 -0
- package/Tests/App/StatusPage/StatusPageRedirectSafety.test.ts +119 -0
- package/Tests/Models/MonitorTemplateMonitorNameColumn.test.ts +258 -0
- package/Tests/Server/API/CustomDomainReissueSslAPI.test.ts +469 -0
- package/Tests/Server/API/MicrosoftTeamsBotMessagesEndpoint.test.ts +729 -0
- package/Tests/Server/API/MicrosoftTeamsBotTestEndpoint.test.ts +26 -0
- package/Tests/Server/API/MicrosoftTeamsLegacyWebhookRemoval.test.ts +402 -0
- package/Tests/Server/Middleware/ProjectAuthorizationApiKeyMiddleware.test.ts +4 -0
- package/Tests/Server/Services/AddCertificateReissueRequestedAtToDomainsMigration.test.ts +287 -0
- package/Tests/Server/Services/CustomDomainCertificateReissue.test.ts +477 -0
- package/Tests/Server/Services/LogPipelineProcessorSaveValidation.test.ts +249 -0
- package/Tests/Server/Services/MonitorTemplateServiceBulkSync.test.ts +549 -0
- package/Tests/Server/Services/MonitorTemplateServiceNetworkDeviceSync.test.ts +16 -3
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleEngineService.test.ts +57 -0
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +151 -15
- package/Tests/Server/Services/StatusPagePrivateUserSessionService.test.ts +587 -0
- package/Tests/Server/Types/Database/Permissions/ApiKeyFileAccess.test.ts +286 -0
- package/Tests/Server/Types/Database/Permissions/MonitorTemplateColumnAccess.test.ts +328 -0
- package/Tests/Server/Types/Database/QueryHelperFindWithSameTextAndIsNull.test.ts +83 -0
- package/Tests/Server/Utils/AI/SRE/ConfidenceSignal.test.ts +377 -0
- package/Tests/Server/Utils/APIKey/AccessPermission.test.ts +16 -1
- package/Tests/Server/Utils/Greenlock/CertificateRenewalSchedule.test.ts +250 -0
- package/Tests/Server/Utils/LogPipelineProcessorValidation.test.ts +198 -0
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +48 -9
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsAuth.test.ts +726 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClient.test.ts +74 -11
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsErrorHandling.test.ts +1107 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +20 -3
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +51 -11
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +1246 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsRequestContract.test.ts +961 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsResponseParsing.test.ts +653 -0
- package/Tests/Server/Utils/Workspace/MicrosoftTeamsActionAuthorization.test.ts +880 -0
- package/Tests/Types/API/HTTPResponse.test.ts +175 -0
- package/Tests/Types/API/Route.test.ts +36 -4
- package/Tests/Types/Database/DatabaseProperty.test.ts +171 -0
- package/Tests/Types/DateLocalShortDateTimeString.test.ts +518 -0
- package/Tests/Types/DateLocalTimeString.test.ts +259 -0
- package/Tests/Types/DateUserPrefers12HourFormat.test.ts +316 -0
- package/Tests/UI/Components/LogsHistogram.test.tsx +41 -2
- package/Tests/UI/Components/LogsViewerEmptyStateTimeRange.test.tsx +212 -0
- package/Tests/UI/Components/TelemetryChartClockFormat.test.tsx +359 -0
- package/Tests/UI/Components/TimeRangePickerClockFormat.test.tsx +422 -0
- package/Tests/UI/Components/TimeRangePickerDropdown.test.tsx +146 -8
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsMessagingEndpointGuidance.test.tsx +520 -0
- package/Tests/UI/Utils/Navigation.test.ts +82 -0
- package/Tests/Utils/Array.test.ts +100 -0
- package/Tests/Utils/CertificateReissue.test.ts +225 -0
- package/Tests/Utils/Grok/Grok.test.ts +492 -0
- package/Tests/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.test.ts +181 -13
- package/Types/API/Route.ts +20 -5
- package/Types/Date.ts +143 -13
- package/Types/Rum/SessionReplay.ts +62 -1
- package/UI/Components/Date/TimeRangePickerDropdown.tsx +9 -5
- package/UI/Components/LogsViewer/LogsViewer.tsx +12 -7
- package/UI/Components/LogsViewer/components/HistogramTooltip.tsx +18 -17
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +21 -28
- package/UI/Components/LogsViewer/components/LogsHistogram.tsx +2 -4
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +2 -4
- package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +17 -16
- package/UI/Utils/Navigation.ts +42 -0
- package/Utils/Array.ts +37 -0
- package/Utils/CertificateReissue.ts +128 -0
- package/Utils/Grok/Grok.ts +461 -0
- package/Utils/Grok/GrokPatterns.ts +118 -0
- package/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.ts +58 -6
- package/build/dist/Models/DatabaseModels/DashboardDomain.js +44 -0
- package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js +17 -4
- package/build/dist/Models/DatabaseModels/MonitorTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js +44 -0
- package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -1
- package/build/dist/Server/API/DashboardDomainAPI.js +43 -1
- package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -1
- package/build/dist/Server/API/MicrosoftTeamsAPI.js +74 -118
- package/build/dist/Server/API/MicrosoftTeamsAPI.js.map +1 -1
- package/build/dist/Server/API/StatusPageDomainAPI.js +43 -1
- package/build/dist/Server/API/StatusPageDomainAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790200000000-AllowNullMonitorNameOnMonitorTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js +28 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790300000000-AddCertificateReissueRequestedAtToDomains.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js +6 -1
- package/build/dist/Server/Middleware/ProjectAuthorization.js.map +1 -1
- package/build/dist/Server/Services/DashboardDomainService.js +104 -0
- package/build/dist/Server/Services/DashboardDomainService.js.map +1 -1
- package/build/dist/Server/Services/LogPipelineProcessorService.js +65 -0
- package/build/dist/Server/Services/LogPipelineProcessorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +57 -11
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageDomainService.js +132 -3
- package/build/dist/Server/Services/StatusPageDomainService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js +112 -32
- package/build/dist/Server/Services/StatusPagePrivateUserSessionService.js.map +1 -1
- package/build/dist/Server/Types/Domain.js +16 -0
- package/build/dist/Server/Types/Domain.js.map +1 -1
- package/build/dist/Server/Utils/APIKey/AccessPermission.js +24 -0
- package/build/dist/Server/Utils/APIKey/AccessPermission.js.map +1 -1
- package/build/dist/Server/Utils/Greenlock/Greenlock.js +110 -35
- package/build/dist/Server/Utils/Greenlock/Greenlock.js.map +1 -1
- package/build/dist/Server/Utils/LogPipelineProcessorValidation.js +77 -0
- package/build/dist/Server/Utils/LogPipelineProcessorValidation.js.map +1 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js +777 -36
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +108 -17
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js +17 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Alert.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js +0 -159
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Auth.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js +128 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Authorization.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +17 -6
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +25 -13
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/API/Route.js +16 -5
- package/build/dist/Types/API/Route.js.map +1 -1
- package/build/dist/Types/Date.js +115 -13
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +38 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js +9 -5
- package/build/dist/UI/Components/Date/TimeRangePickerDropdown.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +12 -7
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js +15 -14
- package/build/dist/UI/Components/LogsViewer/components/HistogramTooltip.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +17 -22
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js +2 -4
- package/build/dist/UI/Components/LogsViewer/components/LogsHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +2 -4
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +15 -14
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +30 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/Utils/Array.js +25 -0
- package/build/dist/Utils/Array.js.map +1 -1
- package/build/dist/Utils/CertificateReissue.js +97 -0
- package/build/dist/Utils/CertificateReissue.js.map +1 -0
- package/build/dist/Utils/Grok/Grok.js +324 -0
- package/build/dist/Utils/Grok/Grok.js.map +1 -0
- package/build/dist/Utils/Grok/GrokPatterns.js +112 -0
- package/build/dist/Utils/Grok/GrokPatterns.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js +63 -3
- package/build/dist/Utils/Monitor/NetworkDeviceMonitorTemplateUtil.js.map +1 -1
- package/package.json +1 -1
- package/UI/Utils/JsonWebToken.ts +0 -14
- package/build/dist/UI/Utils/JsonWebToken.js +0 -10
- package/build/dist/UI/Utils/JsonWebToken.js.map +0 -1
|
@@ -20,6 +20,11 @@ import Telemetry from "../Utils/Telemetry";
|
|
|
20
20
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
21
21
|
import { StatusPageCNameRecord } from "../EnvironmentConfig";
|
|
22
22
|
import Domain from "../Types/Domain";
|
|
23
|
+
import ArrayUtil from "../../Utils/Array";
|
|
24
|
+
import OneUptimeDate from "../../Types/Date";
|
|
25
|
+
import CertificateReissueUtil from "../../Utils/CertificateReissue";
|
|
26
|
+
import TooManyRequestsException from "../../Types/Exception/TooManyRequestsException";
|
|
27
|
+
import QueryHelper from "../Types/Database/QueryHelper";
|
|
23
28
|
const STATUS_PAGE_DOMAIN_EGRESS_LABEL = "Status page domain";
|
|
24
29
|
export class Service extends DatabaseService {
|
|
25
30
|
constructor() {
|
|
@@ -175,6 +180,100 @@ export class Service extends DatabaseService {
|
|
|
175
180
|
},
|
|
176
181
|
});
|
|
177
182
|
}
|
|
183
|
+
/*
|
|
184
|
+
* Reissue this domain's Let's Encrypt certificate because a customer asked
|
|
185
|
+
* for it, rather than because it is close to expiring.
|
|
186
|
+
*
|
|
187
|
+
* Every order spends from a Let's Encrypt account that is shared by the
|
|
188
|
+
* whole installation - including by the cron that keeps everybody else's
|
|
189
|
+
* certificates alive - so this is throttled to one request per domain per
|
|
190
|
+
* CertificateReissueUtil.COOLDOWN_IN_HOURS.
|
|
191
|
+
*
|
|
192
|
+
* Throws with a customer-readable reason for every refusal, so the API layer
|
|
193
|
+
* can hand the message straight back without classifying the failure:
|
|
194
|
+
* BadDataException for a domain that is not eligible at all, and
|
|
195
|
+
* TooManyRequestsException (429) for one that is simply too soon.
|
|
196
|
+
*/
|
|
197
|
+
async reissueCert(domainId) {
|
|
198
|
+
const now = OneUptimeDate.getCurrentDate();
|
|
199
|
+
const statusPageDomain = await this.findOneBy({
|
|
200
|
+
query: {
|
|
201
|
+
_id: domainId.toString(),
|
|
202
|
+
},
|
|
203
|
+
select: {
|
|
204
|
+
_id: true,
|
|
205
|
+
fullDomain: true,
|
|
206
|
+
isCnameVerified: true,
|
|
207
|
+
isSslOrdered: true,
|
|
208
|
+
isCustomCertificate: true,
|
|
209
|
+
certificateReissueRequestedAt: true,
|
|
210
|
+
},
|
|
211
|
+
props: {
|
|
212
|
+
isRoot: true,
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
if (!statusPageDomain) {
|
|
216
|
+
throw new BadDataException("Domain not found.");
|
|
217
|
+
}
|
|
218
|
+
if (!statusPageDomain.fullDomain) {
|
|
219
|
+
throw new BadDataException("Unable to reissue certificate because domain is null");
|
|
220
|
+
}
|
|
221
|
+
/*
|
|
222
|
+
* Nothing to reissue: the certificate on a custom-certificate domain is
|
|
223
|
+
* the one the customer uploaded, and we have no way to obtain another.
|
|
224
|
+
*/
|
|
225
|
+
if (statusPageDomain.isCustomCertificate) {
|
|
226
|
+
throw new BadDataException("This domain uses a certificate you uploaded yourself, so there is no Let's Encrypt certificate to reissue. Please edit this domain and upload a new certificate instead.");
|
|
227
|
+
}
|
|
228
|
+
if (!statusPageDomain.isCnameVerified) {
|
|
229
|
+
throw new BadDataException("CNAME is not verified. Please verify CNAME first before you reissue the SSL certificate.");
|
|
230
|
+
}
|
|
231
|
+
/*
|
|
232
|
+
* A domain that never ordered a certificate has nothing to reissue - the
|
|
233
|
+
* dashboard shows "Order Free SSL" for it, which is the correct button.
|
|
234
|
+
*/
|
|
235
|
+
if (!statusPageDomain.isSslOrdered) {
|
|
236
|
+
throw new BadDataException("No SSL certificate has been ordered for this domain yet. Please order one first.");
|
|
237
|
+
}
|
|
238
|
+
/*
|
|
239
|
+
* Claim the cooldown before ordering anything, and claim it by putting the
|
|
240
|
+
* cooldown condition in the WHERE clause rather than in an `if` above the
|
|
241
|
+
* write. Two clicks that arrive together both read a row that is not
|
|
242
|
+
* cooling down; only the write can decide which one of them gets to spend
|
|
243
|
+
* the CA's allowance.
|
|
244
|
+
*
|
|
245
|
+
* The stamp goes down BEFORE the order and is never rolled back on
|
|
246
|
+
* failure. A rejected order still costs a validation attempt against the
|
|
247
|
+
* shared account, and a domain whose order fails is exactly the domain
|
|
248
|
+
* somebody presses again - so a failed attempt has to start the clock the
|
|
249
|
+
* same way a successful one does.
|
|
250
|
+
*/
|
|
251
|
+
const claimedRowCount = await this.updateOneBy({
|
|
252
|
+
query: {
|
|
253
|
+
_id: domainId.toString(),
|
|
254
|
+
certificateReissueRequestedAt: QueryHelper.lessThanEqualToOrNull(CertificateReissueUtil.getCooldownCutoff(now)),
|
|
255
|
+
},
|
|
256
|
+
data: {
|
|
257
|
+
certificateReissueRequestedAt: now,
|
|
258
|
+
},
|
|
259
|
+
props: {
|
|
260
|
+
isRoot: true,
|
|
261
|
+
},
|
|
262
|
+
});
|
|
263
|
+
if (claimedRowCount === 0) {
|
|
264
|
+
if (statusPageDomain.certificateReissueRequestedAt) {
|
|
265
|
+
throw new TooManyRequestsException(CertificateReissueUtil.getCooldownMessage(statusPageDomain.certificateReissueRequestedAt, now));
|
|
266
|
+
}
|
|
267
|
+
/*
|
|
268
|
+
* The row matched the cooldown a moment ago and does not now: another
|
|
269
|
+
* request claimed it in between, or the domain was deleted. Either way
|
|
270
|
+
* the caller must not order.
|
|
271
|
+
*/
|
|
272
|
+
throw new BadDataException("Could not start a certificate reissue for this domain. Please refresh the page and try again.");
|
|
273
|
+
}
|
|
274
|
+
logger.debug("Reissuing SSL certificate for domain: " + statusPageDomain.fullDomain, { fullDomain: statusPageDomain.fullDomain });
|
|
275
|
+
await this.orderCert(statusPageDomain);
|
|
276
|
+
}
|
|
178
277
|
async updateSslProvisioningStatusForAllDomains() {
|
|
179
278
|
const domains = await this.findBy({
|
|
180
279
|
query: {
|
|
@@ -183,6 +282,7 @@ export class Service extends DatabaseService {
|
|
|
183
282
|
},
|
|
184
283
|
select: {
|
|
185
284
|
_id: true,
|
|
285
|
+
fullDomain: true,
|
|
186
286
|
},
|
|
187
287
|
limit: LIMIT_MAX,
|
|
188
288
|
skip: 0,
|
|
@@ -190,9 +290,24 @@ export class Service extends DatabaseService {
|
|
|
190
290
|
isRoot: true,
|
|
191
291
|
},
|
|
192
292
|
});
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
293
|
+
/*
|
|
294
|
+
* Each domain costs a request out to the customer's status page, so walking
|
|
295
|
+
* the fleet one at a time makes the sweep as long as the fleet is slow.
|
|
296
|
+
* That length is the delay before an expired certificate is noticed and
|
|
297
|
+
* reordered, so it is the outage a customer sees when renewal has not
|
|
298
|
+
* already happened - it must stay well inside the sweep's own interval.
|
|
299
|
+
*/
|
|
300
|
+
await ArrayUtil.forEachWithConcurrency(domains, Service.SSL_PROVISIONING_CHECK_CONCURRENCY, async (domain) => {
|
|
301
|
+
try {
|
|
302
|
+
await this.updateSslProvisioningStatus(domain);
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
// one unreachable domain must not end the sweep for the rest.
|
|
306
|
+
logger.error(err, {
|
|
307
|
+
fullDomain: domain.fullDomain,
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
});
|
|
196
311
|
}
|
|
197
312
|
async isSSLProvisioned(fulldomain, token) {
|
|
198
313
|
try {
|
|
@@ -580,6 +695,14 @@ export class Service extends DatabaseService {
|
|
|
580
695
|
}
|
|
581
696
|
}
|
|
582
697
|
}
|
|
698
|
+
/*
|
|
699
|
+
* How many status pages the provisioning sweep checks at once. Each check is
|
|
700
|
+
* one bounded request out to a customer domain, so this is about not letting
|
|
701
|
+
* the sweep's length grow with the size of the fleet, rather than about local
|
|
702
|
+
* work. Kept modest so a sweep cannot look like a burst of traffic to any
|
|
703
|
+
* shared infrastructure sitting in front of those domains.
|
|
704
|
+
*/
|
|
705
|
+
Service.SSL_PROVISIONING_CHECK_CONCURRENCY = 10;
|
|
583
706
|
__decorate([
|
|
584
707
|
CaptureSpan(),
|
|
585
708
|
__metadata("design:type", Function),
|
|
@@ -616,6 +739,12 @@ __decorate([
|
|
|
616
739
|
__metadata("design:paramtypes", [StatusPageDomain]),
|
|
617
740
|
__metadata("design:returntype", Promise)
|
|
618
741
|
], Service.prototype, "orderCert", null);
|
|
742
|
+
__decorate([
|
|
743
|
+
CaptureSpan(),
|
|
744
|
+
__metadata("design:type", Function),
|
|
745
|
+
__metadata("design:paramtypes", [ObjectID]),
|
|
746
|
+
__metadata("design:returntype", Promise)
|
|
747
|
+
], Service.prototype, "reissueCert", null);
|
|
619
748
|
__decorate([
|
|
620
749
|
CaptureSpan(),
|
|
621
750
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusPageDomainService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPageDomainService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StatusPageDomainService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPageDomainService.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,MAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAEtE,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAG5C,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,SAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AACpE,OAAO,wBAAwB,MAAM,gDAAgD,CAAC;AACtF,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,MAAM,+BAA+B,GAAW,oBAAoB,CAAC;AAErE,MAAM,OAAO,OAAQ,SAAQ,eAAiC;IAU5D;QACE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACK,MAAM,CAAC,6BAA6B,CAC1C,SAA6B;QAE7B,MAAM,UAAU,GAAW,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,GAAG,WAAW,EAAE,KAAI,EAAE,CAAC;QAEjE,wDAAwD;QACxD,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,gBAAgB,CACxB,aAAa,UAAU,wGAAwG,CAChI,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAoC;QAEpC;;;WAGG;QACH,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,6BAA6B,CAC7D,QAAQ,CAAC,IAAI,CAAC,SAAmB,CAClC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAoC;;QAEpC,MAAM,MAAM,GAAuB,MAAM,aAAa,CAAC,SAAS,CAAC;YAC/D,KAAK,EAAE;gBACL,GAAG,EACD,CAAA,MAAA,QAAQ,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,EAAE,MAAI,MAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAA,IAAI,EAAE;aACxE;YACD,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAA,EAAE,CAAC;YACxB,MAAM,IAAI,gBAAgB,CACxB,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,6BAA6B,CAC7D,QAAQ,CAAC,IAAI,CAAC,SAAS,CACxB,CAAC;QAEF,MAAM,mBAAmB,GAAW,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAE5D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,GACd,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,EAAE,KAAI,EAAE,CAAC;YAEvD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,CAAC,CAAC;YAC9D,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,mBAAmB;gBAC5C,CAAC,CAAC,GAAG,mBAAmB,IAAI,UAAU,EAAE;gBACxC,CAAC,CAAC,UAAU,CAAC;QACjB,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEtE,IAAI,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtC,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB;gBAChC,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EACnC,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,8CAA8C,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC1C,CAAC;IAGwB,AAAN,KAAK,CAAC,cAAc,CACrC,QAAoC;QAEpC,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,oBACA,QAAQ,CAAC,KAAK,CAClB;YACD,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAGwB,AAAN,KAAK,CAAC,eAAe,CACtC,QAAoC,EACpC,oBAAgC;QAEhC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGY,AAAN,KAAK,CAAC,yBAAyB,CAAC,MAAc;QACnD,MAAM,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAGY,AAAN,KAAK,CAAC,SAAS,CAAC,gBAAkC;;QACvD,OAAO,SAAS,CAAC,eAAe,CAAgB;YAC9C,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE;gBACP,UAAU,EAAE;oBACV,UAAU,EAAE,gBAAgB,CAAC,UAAU;oBACvC,GAAG,EAAE,MAAA,gBAAgB,CAAC,EAAE,0CAAE,QAAQ,EAAE;iBACrC;aACF;YACD,EAAE,EAAE,KAAK,EAAE,IAAU,EAAiB,EAAE;gBACtC,IAAI,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;wBACjC,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE;gCACL,GAAG,EAAE,gBAAgB,CAAC,EAAG,CAAC,QAAQ,EAAE;6BACrC;4BACD,MAAM,EAAE;gCACN,GAAG,EAAE,IAAI;gCACT,UAAU,EAAE,IAAI;6BACjB;4BACD,KAAK,EAAE;gCACL,MAAM,EAAE,IAAI;6BACb;yBACF,CAAC,CAAC;wBAEL,IAAI,CAAC,uBAAuB,EAAE,CAAC;4BAC7B,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;wBACtD,CAAC;wBAED,gBAAgB,GAAG,uBAAuB,CAAC;oBAC7C,CAAC;oBAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;wBACjC,MAAM,IAAI,gBAAgB,CACxB,oDAAoD,CACrD,CAAC;oBACJ,CAAC;oBAED,MAAM,CAAC,KAAK,CACV,2BAA2B,GAAG,gBAAgB,CAAC,UAAU,EACzD,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAmB,CAC7D,CAAC;oBAEF,MAAM,aAAa,CAAC,SAAS,CAAC;wBAC5B,MAAM,EAAE,gBAAgB,CAAC,UAAoB;wBAC7C,aAAa,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;4BAC1C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAC7C,CAAC;qBACF,CAAC,CAAC;oBAEH,MAAM,CAAC,KAAK,CACV,0BAA0B,GAAG,gBAAgB,CAAC,UAAU,EACxD,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAmB,CAC7D,CAAC;oBAEF,oBAAoB;oBACpB,MAAM,IAAI,CAAC,aAAa,CAAC;wBACvB,EAAE,EAAE,gBAAgB,CAAC,EAAG;wBACxB,IAAI,EAAE;4BACJ,YAAY,EAAE,IAAI;yBACnB;wBACD,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,CAAC,wCAAwC,CAAC;wBACjD,IAAI;wBACJ,SAAS,EAAE,GAAG;qBACf,CAAC,CAAC;oBAEH,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IAEU,AAAN,KAAK,CAAC,WAAW,CAAC,QAAkB;QACzC,MAAM,GAAG,GAAS,aAAa,CAAC,cAAc,EAAE,CAAC;QAEjD,MAAM,gBAAgB,GAA4B,MAAM,IAAI,CAAC,SAAS,CAAC;YACrE,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE;aACzB;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;gBAChB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,IAAI;gBACzB,6BAA6B,EAAE,IAAI;aACpC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,gBAAgB,CACxB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED;;;WAGG;QACH,IAAI,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,gBAAgB,CACxB,0KAA0K,CAC3K,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,IAAI,gBAAgB,CACxB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QAED;;;WAGG;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,MAAM,eAAe,GAAW,MAAM,IAAI,CAAC,WAAW,CAAC;YACrD,KAAK,EAAE;gBACL,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE;gBACxB,6BAA6B,EAAE,WAAW,CAAC,qBAAqB,CAC9D,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAC9C;aACF;YACD,IAAI,EAAE;gBACJ,6BAA6B,EAAE,GAAG;aACnC;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;gBACnD,MAAM,IAAI,wBAAwB,CAChC,sBAAsB,CAAC,kBAAkB,CACvC,gBAAgB,CAAC,6BAA6B,EAC9C,GAAG,CACJ,CACF,CAAC;YACJ,CAAC;YAED;;;;eAIG;YACH,MAAM,IAAI,gBAAgB,CACxB,+FAA+F,CAChG,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,CACV,wCAAwC,GAAG,gBAAgB,CAAC,UAAU,EACtE,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAmB,CAC7D,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAGY,AAAN,KAAK,CAAC,wCAAwC;QACnD,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,KAAK;aAC3B;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH;;;;;;WAMG;QACH,MAAM,SAAS,CAAC,sBAAsB,CACpC,OAAO,EACP,OAAO,CAAC,kCAAkC,EAC1C,KAAK,EAAE,MAAwB,EAAiB,EAAE;YAChD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,8DAA8D;gBAC9D,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChB,UAAU,EAAE,MAAM,CAAC,UAAU;iBACb,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,UAAkB,EAClB,KAAa;QAEb,IAAI,CAAC;YACH,MAAM,MAAM,GACV,MAAM,MAAM,CAAC,wBAAwB,CAAC;gBACpC,GAAG,EACD,UAAU;oBACV,UAAU;oBACV,sCAAsC;oBACtC,KAAK;gBACP,WAAW,EAAE,+BAA+B;aAC7C,CAAC,CAAC;YAEL,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAmB,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,oCAAoC,CAAC,IAGjD;QACC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrB,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI,CAAC,MAAM;iBACxB;gBACD,IAAI,EAAE;oBACJ,eAAe,EAAE,KAAK;oBACtB,YAAY,EAAE,KAAK;oBACnB,gBAAgB,EAAE,KAAK;iBACxB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrB,KAAK,EAAE;oBACL,UAAU,EAAE,IAAI,CAAC,MAAM;iBACxB;gBACD,IAAI,EAAE;oBACJ,eAAe,EAAE,IAAI;iBACtB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,iCAAiC;YAEjC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,UAAU,EAAE;gBAC/C,UAAU;aACM,CAAC,CAAC;YAEpB,MAAM,gBAAgB,GAA4B,MAAM,IAAI,CAAC,SAAS,CAAC;gBACrE,KAAK,EAAE;oBACL,UAAU,EAAE,UAAU;iBACvB;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;oBACT,sBAAsB,EAAE,IAAI;iBAC7B;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAW,gBAAgB,CAAC,sBAAuB,CAAC;YAE/D,MAAM,CAAC,KAAK,CACV,qBAAqB,GAAG,UAAU,GAAG,cAAc,GAAG,KAAK,EAC3D,EAAE,UAAU,EAAmB,CAChC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,GACV,MAAM,MAAM,CAAC,wBAAwB,CAAC;oBACpC,GAAG,EACD,SAAS;wBACT,UAAU;wBACV,sCAAsC;wBACtC,KAAK;oBACP,WAAW,EAAE,+BAA+B;iBAC7C,CAAC,CAAC;gBAEL,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACxC,UAAU;iBACM,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;gBAEtD,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;oBACvB,MAAM,IAAI,CAAC,oCAAoC,CAAC;wBAC9C,MAAM,EAAE,UAAU;wBAClB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;oBAEH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,UAAU,EAAE;oBACtD,UAAU;iBACM,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;YACrD,CAAC;YAED,iBAAiB;YAEjB,IAAI,CAAC;gBACH,MAAM,WAAW,GACf,MAAM,MAAM,CAAC,wBAAwB,CAAC;oBACpC,GAAG,EACD,UAAU;wBACV,UAAU;wBACV,sCAAsC;wBACtC,KAAK;oBACP,WAAW,EAAE,+BAA+B;iBAC7C,CAAC,CAAC;gBAEL,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;oBAClD,UAAU;iBACM,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;gBAE3D,IAAI,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,oCAAoC,CAAC;wBAC9C,MAAM,EAAE,UAAU;wBAClB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;oBAEH,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,UAAU,EAAE;oBACtD,UAAU;iBACM,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,uEAAuE;oBAEvE,MAAM,YAAY,GAAkB,MAAM,MAAM,CAAC,eAAe,CAAC;wBAC/D,MAAM,EAAE,UAAU;qBACnB,CAAC,CAAC;oBAEH,IAAI,WAAW,GAAuB,SAAS,CAAC;oBAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;oBAC1D,CAAC;oBAED,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,CAAC,KAAK,CACV,6BAA6B,UAAU,sBAAsB,qBAAqB,EAAE,EACpF,EAAE,UAAU,EAAmB,CAChC,CAAC;wBACF,MAAM,IAAI,CAAC,oCAAoC,CAAC;4BAC9C,MAAM,EAAE,UAAU;4BAClB,WAAW,EAAE,KAAK;yBACnB,CAAC,CAAC;wBACH,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,IACE,WAAW;wBACX,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE;4BACpC,qBAAqB,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,EAClD,CAAC;wBACD,MAAM,CAAC,KAAK,CACV,oBAAoB,UAAU,iCAAiC,qBAAqB,EAAE,EACtF,EAAE,UAAU,EAAmB,CAChC,CAAC;wBAEF,MAAM,IAAI,CAAC,oCAAoC,CAAC;4BAC9C,MAAM,EAAE,UAAU;4BAClB,WAAW,EAAE,IAAI;yBAClB,CAAC,CAAC;wBAEH,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,CAAC,KAAK,CACV,oBAAoB,UAAU,OAAO,WAAW,+CAA+C,qBAAqB,EAAE,EACtH,EAAE,UAAU,EAAmB,CAChC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,UAAU,EAAE;oBACtD,UAAU;iBACM,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,IAAI,CAAC,oCAAoC,CAAC;gBAC9C,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,UAAU,EAAE;gBACtD,UAAU;aACM,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAmB,CAAC,CAAC;YAEnD,MAAM,IAAI,CAAC,oCAAoC,CAAC;gBAC9C,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,2BAA2B,CACtC,MAAwB;;QAExB,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,gBAAgB,GAA4B,MAAM,IAAI,CAAC,SAAS,CAAC;YACrE,KAAK,EAAE;gBACL,GAAG,EAAE,MAAA,MAAM,CAAC,EAAE,0CAAE,QAAQ,EAAE;aAC3B;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;gBAChB,sBAAsB,EAAE,IAAI;aAC7B;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,CAAC,KAAK,CACV,gDAAgD,gBAAgB,CAAC,UAAU,EAAE,EAC7E,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAmB,CAC7D,CAAC;QAEF,yEAAyE;QACzE,MAAM,OAAO,GAAY,MAAM,IAAI,CAAC,gBAAgB,CAClD,gBAAgB,CAAC,UAAW,EAC5B,gBAAgB,CAAC,sBAAuB,CACzC,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,2BAA2B;YAE3B,MAAM,YAAY,GAAY,MAAM,IAAI,CAAC,YAAY,CACnD,gBAAgB,CAAC,UAAW,CAC7B,CAAC;YAEF,MAAM,IAAI,CAAC,aAAa,CAAC;gBACvB,EAAE,EAAE,gBAAgB,CAAC,EAAG;gBACxB,IAAI,EAAE;oBACJ,gBAAgB,EAAE,KAAK;iBACxB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEH,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CACV,gCAAgC,GAAG,gBAAgB,CAAC,UAAU,EAC9D,EAAE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAmB,CAC7D,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,UAAU,EAAE,gBAAgB,CAAC,UAAU;qBACvB,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,aAAa,CAAC;gBACvB,EAAE,EAAE,gBAAgB,CAAC,EAAG;gBACxB,IAAI,EAAE;oBACJ,gBAAgB,EAAE,IAAI;iBACvB;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,uCAAuC;QAClD,OAAO,SAAS,CAAC,eAAe,CAAgB;YAC9C,IAAI,EAAE,iEAAiE;YACvE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YAC3B,EAAE,EAAE,KAAK,EAAE,IAAU,EAAiB,EAAE;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,MAAM,CAAC;wBACzD,KAAK,EAAE;4BACL,YAAY,EAAE,KAAK;4BACnB,mBAAmB,EAAE,KAAK,EAAE,0CAA0C;yBACvE;wBACD,MAAM,EAAE;4BACN,GAAG,EAAE,IAAI;4BACT,UAAU,EAAE,IAAI;yBACjB;wBACD,KAAK,EAAE,SAAS;wBAChB,IAAI,EAAE,CAAC;wBACP,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI;yBACb;qBACF,CAAC,CAAC;oBAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,CAAC;4BACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,MAAM,CAAC,UAAU,EAAE;gCAC5D,UAAU,EAAE,MAAM,CAAC,UAAU;6BACb,CAAC,CAAC;4BACpB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBAC/B,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gCACd,UAAU,EAAE,MAAM,CAAC,UAAU;6BACb,CAAC,CAAC;wBACtB,CAAC;oBACH,CAAC;oBAED,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,CAAC,wCAAwC,CAAC;wBACjD,IAAI;wBACJ,SAAS,EAAE,GAAG;qBACf,CAAC,CAAC;oBAEH,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,kCAAkC;QAC7C,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE;gBACL,eAAe,EAAE,KAAK;aACvB;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;aACjB;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAoB,CAAC,CAAC,CAAC,mCAAmC;YAC3F,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;oBACd,UAAU,EAAE,MAAM,CAAC,UAAoB;iBACvB,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAGY,AAAN,KAAK,CAAC,8BAA8B;QACzC,MAAM,aAAa,CAAC,iCAAiC,CAAC;YACpD,aAAa,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;gBAC1C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC;YACD,mBAAmB,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE;gBAC5C,kCAAkC;gBAClC,MAAM,IAAI,CAAC,WAAW,CAAC;oBACrB,KAAK,EAAE;wBACL,UAAU,EAAE,MAAM;qBACnB;oBACD,IAAI,EAAE;wBACJ,YAAY,EAAE,KAAK;wBACnB,gBAAgB,EAAE,KAAK;qBACxB;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,CAAC,uCAAuC,MAAM,EAAE,EAAE;oBAC5D,UAAU,EAAE,MAAM;iBACF,CAAC,CAAC;YACtB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAGY,AAAN,KAAK,CAAC,gBAAgB;QAC3B,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,MAAM,CAAC;YACzD,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI;gBAClB,mBAAmB,EAAE,KAAK;aAC3B;YACD,MAAM,EAAE;gBACN,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,IAAI;gBAChB,sBAAsB,EAAE,IAAI;aAC7B;YACD,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvB,SAAS;YACX,CAAC;YAED,0CAA0C;YAC1C,MAAM,QAAQ,GACZ,MAAM,sBAAsB,CAAC,SAAS,CAAC;gBACrC,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM,CAAC,UAAU;iBAC1B;gBACD,MAAM,EAAE;oBACN,GAAG,EAAE,IAAI;iBACV;gBACD,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;iBACb;aACF,CAAC,CAAC;YAEL,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,oBAAoB;oBACpB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,MAAM,CAAC,UAAU,EAAE;wBACjE,UAAU,EAAE,MAAM,CAAC,UAAU;qBACb,CAAC,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAmB,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;;AAt2BD;;;;;;GAMG;AACoB,0CAAkC,GAAW,EAAE,CAAC;AAqC9C;IADxB,WAAW,EAAE;;;;6CAeb;AAGwB;IADxB,WAAW,EAAE;;;;6CAsDb;AAGwB;IADxB,WAAW,EAAE;;;;6CAiBb;AAGwB;IADxB,WAAW,EAAE;;;;8CAUb;AAGY;IADZ,WAAW,EAAE;;;;wDAGb;AAGY;IADZ,WAAW,EAAE;;qCAC2B,gBAAgB;;wCA8ExD;AAiBY;IADZ,WAAW,EAAE;;qCACqB,QAAQ;;0CA8G1C;AAGY;IADZ,WAAW,EAAE;;;;uEAuCb;AA6BY;IADZ,WAAW,EAAE;;;;mEAgCb;AAGY;IADZ,WAAW,EAAE;;;;2CA2Kb;AAGY;IADZ,WAAW,EAAE;;qCAEJ,gBAAgB;;0DA6EzB;AAGY;IADZ,WAAW,EAAE;;;;sEA+Cb;AAGY;IADZ,WAAW,EAAE;;;;iEA0Bb;AAGY;IADZ,WAAW,EAAE;;;;6DA0Bb;AAGY;IADZ,WAAW,EAAE;;;;+CAkDb;AAEH,eAAe,IAAI,OAAO,EAAE,CAAC"}
|
|
@@ -7,6 +7,8 @@ import OneUptimeDate from "../../Types/Date";
|
|
|
7
7
|
import Text from "../../Types/Text";
|
|
8
8
|
import logger from "../Utils/Logger";
|
|
9
9
|
import BadDataException from "../../Types/Exception/BadDataException";
|
|
10
|
+
import { JsonContains, MoreThan } from "typeorm";
|
|
11
|
+
export const STATUS_PAGE_LOGIN_CODE_TTL_MINUTES = 5;
|
|
10
12
|
export class Service extends DatabaseService {
|
|
11
13
|
constructor() {
|
|
12
14
|
super(Model);
|
|
@@ -35,6 +37,14 @@ export class Service extends DatabaseService {
|
|
|
35
37
|
throw error;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
40
|
+
async createLoginCodeSession(options) {
|
|
41
|
+
return await this.createSession(Object.assign(Object.assign({}, options), { additionalInfo: Object.assign(Object.assign({}, (options.additionalInfo || {})), { [Service.LOGIN_CODE_PURPOSE_KEY]: Service.LOGIN_CODE_PURPOSE_VALUE }), refreshTokenExpiresAt: OneUptimeDate.getSomeMinutesAfter(STATUS_PAGE_LOGIN_CODE_TTL_MINUTES) }));
|
|
42
|
+
}
|
|
43
|
+
isLoginCodeSession(session) {
|
|
44
|
+
var _a;
|
|
45
|
+
return (((_a = session.additionalInfo) === null || _a === void 0 ? void 0 : _a[Service.LOGIN_CODE_PURPOSE_KEY]) ===
|
|
46
|
+
Service.LOGIN_CODE_PURPOSE_VALUE);
|
|
47
|
+
}
|
|
38
48
|
async findActiveSessionByRefreshToken(refreshToken) {
|
|
39
49
|
const hashedValue = await HashedString.hashValue(refreshToken, EncryptionSecret);
|
|
40
50
|
const session = await this.findOneBy({
|
|
@@ -74,38 +84,11 @@ export class Service extends DatabaseService {
|
|
|
74
84
|
async renewSessionWithNewRefreshToken(options) {
|
|
75
85
|
const refreshToken = Service.generateRefreshToken();
|
|
76
86
|
const refreshTokenExpiresAt = options.refreshTokenExpiresAt || Service.getRefreshTokenExpiry();
|
|
77
|
-
const updatePayload = {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
};
|
|
83
|
-
const ipAddress = Text.truncate(options.ipAddress, Service.SHORT_TEXT_LIMIT);
|
|
84
|
-
if (ipAddress) {
|
|
85
|
-
updatePayload.ipAddress = ipAddress;
|
|
86
|
-
}
|
|
87
|
-
if (options.userAgent) {
|
|
88
|
-
updatePayload.userAgent = options.userAgent;
|
|
89
|
-
}
|
|
90
|
-
const deviceName = Text.truncate(options.deviceName, Service.SHORT_TEXT_LIMIT);
|
|
91
|
-
if (deviceName) {
|
|
92
|
-
updatePayload.deviceName = deviceName;
|
|
93
|
-
}
|
|
94
|
-
const deviceType = Text.truncate(options.deviceType, Service.SHORT_TEXT_LIMIT);
|
|
95
|
-
if (deviceType) {
|
|
96
|
-
updatePayload.deviceType = deviceType;
|
|
97
|
-
}
|
|
98
|
-
const deviceOS = Text.truncate(options.deviceOS, Service.SHORT_TEXT_LIMIT);
|
|
99
|
-
if (deviceOS) {
|
|
100
|
-
updatePayload.deviceOS = deviceOS;
|
|
101
|
-
}
|
|
102
|
-
const deviceBrowser = Text.truncate(options.deviceBrowser, Service.SHORT_TEXT_LIMIT);
|
|
103
|
-
if (deviceBrowser) {
|
|
104
|
-
updatePayload.deviceBrowser = deviceBrowser;
|
|
105
|
-
}
|
|
106
|
-
if (options.additionalInfo || options.session.additionalInfo) {
|
|
107
|
-
updatePayload.additionalInfo = Object.assign(Object.assign({}, (options.session.additionalInfo || {})), (options.additionalInfo || {}));
|
|
108
|
-
}
|
|
87
|
+
const updatePayload = this.buildRenewalUpdatePayload({
|
|
88
|
+
options,
|
|
89
|
+
refreshToken,
|
|
90
|
+
refreshTokenExpiresAt,
|
|
91
|
+
});
|
|
109
92
|
const updatedSession = await this.updateOneByIdAndFetch({
|
|
110
93
|
id: options.session.id,
|
|
111
94
|
data: updatePayload,
|
|
@@ -122,6 +105,66 @@ export class Service extends DatabaseService {
|
|
|
122
105
|
refreshTokenExpiresAt,
|
|
123
106
|
};
|
|
124
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Atomically consume the short-lived login code and replace it with the
|
|
110
|
+
* long-lived refresh credential that is delivered only as an HttpOnly
|
|
111
|
+
* cookie. The refresh-token column is unique and included in the UPDATE
|
|
112
|
+
* predicate, so concurrent redemption attempts cannot both succeed.
|
|
113
|
+
*/
|
|
114
|
+
async exchangeLoginCode(loginCode, options) {
|
|
115
|
+
if (!ObjectID.isValidUUID(loginCode)) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const session = await this.findActiveSessionByRefreshToken(loginCode);
|
|
119
|
+
if (!(session === null || session === void 0 ? void 0 : session.id) ||
|
|
120
|
+
!session.statusPageId ||
|
|
121
|
+
!this.isLoginCodeSession(session) ||
|
|
122
|
+
session.statusPageId.toString() !== options.statusPageId.toString()) {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
const refreshToken = Service.generateRefreshToken();
|
|
126
|
+
const refreshTokenExpiresAt = Service.getRefreshTokenExpiry();
|
|
127
|
+
const renewalOptions = {
|
|
128
|
+
session,
|
|
129
|
+
ipAddress: options.ipAddress,
|
|
130
|
+
userAgent: options.userAgent,
|
|
131
|
+
deviceName: options.deviceName,
|
|
132
|
+
deviceType: options.deviceType,
|
|
133
|
+
deviceOS: options.deviceOS,
|
|
134
|
+
deviceBrowser: options.deviceBrowser,
|
|
135
|
+
additionalInfo: options.additionalInfo,
|
|
136
|
+
};
|
|
137
|
+
const updatePayload = this.buildRenewalUpdatePayload({
|
|
138
|
+
options: renewalOptions,
|
|
139
|
+
refreshToken,
|
|
140
|
+
refreshTokenExpiresAt,
|
|
141
|
+
});
|
|
142
|
+
const refreshTokenHash = await HashedString.hashValue(refreshToken, EncryptionSecret);
|
|
143
|
+
updatePayload.refreshToken = new HashedString(refreshTokenHash, true);
|
|
144
|
+
const additionalInfo = Object.assign({}, (updatePayload.additionalInfo || {}));
|
|
145
|
+
delete additionalInfo[Service.LOGIN_CODE_PURPOSE_KEY];
|
|
146
|
+
updatePayload.additionalInfo = additionalInfo;
|
|
147
|
+
const loginCodeHash = await HashedString.hashValue(loginCode, EncryptionSecret);
|
|
148
|
+
const updateResult = await this.getRepository().update({
|
|
149
|
+
_id: session._id,
|
|
150
|
+
statusPageId: options.statusPageId,
|
|
151
|
+
refreshToken: new HashedString(loginCodeHash, true),
|
|
152
|
+
refreshTokenExpiresAt: MoreThan(OneUptimeDate.getCurrentDate()),
|
|
153
|
+
isRevoked: false,
|
|
154
|
+
additionalInfo: JsonContains({
|
|
155
|
+
[Service.LOGIN_CODE_PURPOSE_KEY]: Service.LOGIN_CODE_PURPOSE_VALUE,
|
|
156
|
+
}),
|
|
157
|
+
}, updatePayload);
|
|
158
|
+
if (updateResult.affected !== 1) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
Object.assign(session, updatePayload);
|
|
162
|
+
return {
|
|
163
|
+
session,
|
|
164
|
+
refreshToken,
|
|
165
|
+
refreshTokenExpiresAt,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
125
168
|
async touchSession(sessionId, options) {
|
|
126
169
|
const updatePayload = {
|
|
127
170
|
lastActiveAt: OneUptimeDate.getCurrentDate(),
|
|
@@ -201,6 +244,41 @@ export class Service extends DatabaseService {
|
|
|
201
244
|
session.additionalInfo = Object.assign({}, (options.additionalInfo || {}));
|
|
202
245
|
return session;
|
|
203
246
|
}
|
|
247
|
+
buildRenewalUpdatePayload(data) {
|
|
248
|
+
const updatePayload = {
|
|
249
|
+
refreshToken: HashedString.fromString(data.refreshToken),
|
|
250
|
+
refreshTokenExpiresAt: data.refreshTokenExpiresAt,
|
|
251
|
+
lastActiveAt: OneUptimeDate.getCurrentDate(),
|
|
252
|
+
isRevoked: false,
|
|
253
|
+
};
|
|
254
|
+
const ipAddress = Text.truncate(data.options.ipAddress, Service.SHORT_TEXT_LIMIT);
|
|
255
|
+
if (ipAddress) {
|
|
256
|
+
updatePayload.ipAddress = ipAddress;
|
|
257
|
+
}
|
|
258
|
+
if (data.options.userAgent) {
|
|
259
|
+
updatePayload.userAgent = data.options.userAgent;
|
|
260
|
+
}
|
|
261
|
+
const deviceName = Text.truncate(data.options.deviceName, Service.SHORT_TEXT_LIMIT);
|
|
262
|
+
if (deviceName) {
|
|
263
|
+
updatePayload.deviceName = deviceName;
|
|
264
|
+
}
|
|
265
|
+
const deviceType = Text.truncate(data.options.deviceType, Service.SHORT_TEXT_LIMIT);
|
|
266
|
+
if (deviceType) {
|
|
267
|
+
updatePayload.deviceType = deviceType;
|
|
268
|
+
}
|
|
269
|
+
const deviceOS = Text.truncate(data.options.deviceOS, Service.SHORT_TEXT_LIMIT);
|
|
270
|
+
if (deviceOS) {
|
|
271
|
+
updatePayload.deviceOS = deviceOS;
|
|
272
|
+
}
|
|
273
|
+
const deviceBrowser = Text.truncate(data.options.deviceBrowser, Service.SHORT_TEXT_LIMIT);
|
|
274
|
+
if (deviceBrowser) {
|
|
275
|
+
updatePayload.deviceBrowser = deviceBrowser;
|
|
276
|
+
}
|
|
277
|
+
if (data.options.additionalInfo || data.options.session.additionalInfo) {
|
|
278
|
+
updatePayload.additionalInfo = Object.assign(Object.assign({}, (data.options.session.additionalInfo || {})), (data.options.additionalInfo || {}));
|
|
279
|
+
}
|
|
280
|
+
return updatePayload;
|
|
281
|
+
}
|
|
204
282
|
static generateRefreshToken() {
|
|
205
283
|
return ObjectID.generate().toString();
|
|
206
284
|
}
|
|
@@ -209,6 +287,8 @@ export class Service extends DatabaseService {
|
|
|
209
287
|
}
|
|
210
288
|
}
|
|
211
289
|
Service.DEFAULT_REFRESH_TOKEN_TTL_DAYS = 30;
|
|
290
|
+
Service.LOGIN_CODE_PURPOSE_KEY = "oneuptimeStatusPageSessionPurpose";
|
|
291
|
+
Service.LOGIN_CODE_PURPOSE_VALUE = "login-code";
|
|
212
292
|
Service.SHORT_TEXT_LIMIT = 100;
|
|
213
293
|
export default new Service();
|
|
214
294
|
//# sourceMappingURL=StatusPagePrivateUserSessionService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusPagePrivateUserSessionService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserSessionService.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,0DAA0D,CAAC;AAC7E,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAE5C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusPagePrivateUserSessionService.js","sourceRoot":"","sources":["../../../../Server/Services/StatusPagePrivateUserSessionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,12 @@ import BadDataException from "../../Types/Exception/BadDataException";
|
|
|
15
15
|
import URL from "../../Types/API/URL";
|
|
16
16
|
import API from "../../Utils/API";
|
|
17
17
|
import DataSourceEgressGuard from "../Utils/DataSource/EgressGuard";
|
|
18
|
+
/*
|
|
19
|
+
* A status page that is up answers the verification path well inside this.
|
|
20
|
+
* It is a ceiling on how long one unreachable domain may hold up the rest of a
|
|
21
|
+
* certificate run, not a latency target.
|
|
22
|
+
*/
|
|
23
|
+
export const DOMAIN_VERIFICATION_TIMEOUT_IN_MS = 10000;
|
|
18
24
|
export default class Domain extends DomainCommon {
|
|
19
25
|
/*
|
|
20
26
|
* GET a domain-verification URL built from a tenant-supplied domain.
|
|
@@ -30,6 +36,15 @@ export default class Domain extends DomainCommon {
|
|
|
30
36
|
*
|
|
31
37
|
* Private ranges stay reachable on self-hosted installs, where a status page
|
|
32
38
|
* domain legitimately resolves inside the corporate network.
|
|
39
|
+
*
|
|
40
|
+
* The call is bounded. A customer domain that has been pointed at an address
|
|
41
|
+
* which silently drops packets - a decommissioned load balancer, a firewall
|
|
42
|
+
* that blackholes instead of refusing - never answers and never resets, so an
|
|
43
|
+
* unbounded request sits until the kernel gives up on the TCP connect, which
|
|
44
|
+
* is a little over two minutes on Linux. The certificate crons walk every
|
|
45
|
+
* status page domain in turn, so each such domain would burn that timeout out
|
|
46
|
+
* of the run's budget and push the domains behind it into the next run - the
|
|
47
|
+
* renewals that matter get starved by the domains that will never answer.
|
|
33
48
|
*/
|
|
34
49
|
static async getForDomainVerification(data) {
|
|
35
50
|
const { httpAgent, httpsAgent } = await DataSourceEgressGuard.assertUrlAllowedAndPin(data.url, {
|
|
@@ -39,6 +54,7 @@ export default class Domain extends DomainCommon {
|
|
|
39
54
|
url: URL.fromString(data.url),
|
|
40
55
|
options: {
|
|
41
56
|
doNotFollowRedirects: true,
|
|
57
|
+
timeout: DOMAIN_VERIFICATION_TIMEOUT_IN_MS,
|
|
42
58
|
httpAgent,
|
|
43
59
|
httpsAgent,
|
|
44
60
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../../Server/Types/Domain.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AAItE,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C
|
|
1
|
+
{"version":3,"file":"Domain.js","sourceRoot":"","sources":["../../../../Server/Types/Domain.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,28 @@ import Permission from "../../../Types/Permission";
|
|
|
12
12
|
import ApiKeyPermissionService from "../../Services/ApiKeyPermissionService";
|
|
13
13
|
import CaptureSpan from "../Telemetry/CaptureSpan";
|
|
14
14
|
import UserPermissionUtil from "../UserPermission/UserPermission";
|
|
15
|
+
/*
|
|
16
|
+
* Permission.AuthenticatedRequest is a marker, not a capability. It says "some
|
|
17
|
+
* authenticated principal made this call" - its own definition names API keys
|
|
18
|
+
* first - and unlike every other entry in these lists it has no PermissionProps,
|
|
19
|
+
* so it never appears in the admin picker and nobody can grant or revoke it per
|
|
20
|
+
* key. File and FileModel are the only models that name it, which is what bounds
|
|
21
|
+
* what including it here can widen.
|
|
22
|
+
*
|
|
23
|
+
* It is in the list because of TenantPermission.isAccessGrantedOnlyByCurrentUser.
|
|
24
|
+
* That predicate asks whether the ONLY thing letting a caller through a model's
|
|
25
|
+
* gate is the auto-granted CurrentUser - i.e. whether they are here as nothing
|
|
26
|
+
* more than some logged-in user - and when it says yes the caller is held to
|
|
27
|
+
* rows they own, which an API key can never satisfy because it has no userId.
|
|
28
|
+
* Without AuthenticatedRequest an API key intersects File's create list down to
|
|
29
|
+
* CurrentUser alone and answers yes to that question, which is simply the wrong
|
|
30
|
+
* description of a key: it is not a user acting on their own rows.
|
|
31
|
+
*
|
|
32
|
+
* On File as it stands today the wrong answer is harmless - File declares no
|
|
33
|
+
* user column, so the ownership branch returns before it can bite. The grant is
|
|
34
|
+
* here so that stays a fact about File's schema rather than the only thing
|
|
35
|
+
* holding API-key file access up.
|
|
36
|
+
*/
|
|
15
37
|
export default class APIKeyAccessPermission {
|
|
16
38
|
static async getDefaultApiGlobalPermission(projectId) {
|
|
17
39
|
return {
|
|
@@ -20,6 +42,7 @@ export default class APIKeyAccessPermission {
|
|
|
20
42
|
Permission.Public,
|
|
21
43
|
Permission.User,
|
|
22
44
|
Permission.CurrentUser,
|
|
45
|
+
Permission.AuthenticatedRequest,
|
|
23
46
|
],
|
|
24
47
|
_type: "UserGlobalAccessPermission",
|
|
25
48
|
};
|
|
@@ -31,6 +54,7 @@ export default class APIKeyAccessPermission {
|
|
|
31
54
|
Permission.Public,
|
|
32
55
|
Permission.User,
|
|
33
56
|
Permission.CurrentUser,
|
|
57
|
+
Permission.AuthenticatedRequest,
|
|
34
58
|
Permission.ProjectOwner,
|
|
35
59
|
],
|
|
36
60
|
_type: "UserGlobalAccessPermission",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessPermission.js","sourceRoot":"","sources":["../../../../../Server/Utils/APIKey/AccessPermission.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,UAIN,MAAM,2BAA2B,CAAC;AACnC,OAAO,uBAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAErB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAC/C,SAAmB;QAEnB,OAAO;YACL,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,iBAAiB,EAAE;gBACjB,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"AccessPermission.js","sourceRoot":"","sources":["../../../../../Server/Utils/APIKey/AccessPermission.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,UAIN,MAAM,2BAA2B,CAAC;AACnC,OAAO,uBAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,kBAAkB,MAAM,kCAAkC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAErB,AAAb,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAC/C,SAAmB;QAEnB,OAAO;YACL,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,iBAAiB,EAAE;gBACjB,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,WAAW;gBACtB,UAAU,CAAC,oBAAoB;aAChC;YACD,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAGmB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B,CACjD,SAAmB;QAEnB,OAAO;YACL,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,iBAAiB,EAAE;gBACjB,UAAU,CAAC,MAAM;gBACjB,UAAU,CAAC,IAAI;gBACf,UAAU,CAAC,WAAW;gBACtB,UAAU,CAAC,oBAAoB;gBAC/B,UAAU,CAAC,YAAY;aACxB;YACD,KAAK,EAAE,4BAA4B;SACpC,CAAC;IACJ,CAAC;IAGmB,AAAb,MAAM,CAAC,KAAK,CAAC,kCAAkC,CACpD,SAAmB;QAEnB,MAAM,eAAe,GAA0B,EAAE,CAAC;QAElD,eAAe,CAAC,IAAI,CAAC;YACnB,UAAU,EAAE,UAAU,CAAC,YAAY;YACnC,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,gBAAgB;SACxB,CAAC,CAAC;QAEH,MAAM,UAAU,GACd,kBAAkB,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;QAErE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAExE,OAAO,UAAU,CAAC;IACpB,CAAC;IAGmB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAC9C,SAAmB,EACnB,QAAkB;QAElB,+DAA+D;QAC/D,MAAM,oBAAoB,GACxB,MAAM,uBAAuB,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAEpE,MAAM,eAAe,GAA0B,oBAAoB,CAAC,GAAG,CACrE,CAAC,GAAwB,EAAkB,EAAE;YAC3C,OAAO;gBACL,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,KAAK,EAAE,gBAAgB;aACxB,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,UAAU,GACd,kBAAkB,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC;QAErE,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAExE,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA/EqB;IADnB,WAAW,EAAE;;qCAED,QAAQ;;iEAYpB;AAGmB;IADnB,WAAW,EAAE;;qCAED,QAAQ;;mEAapB;AAGmB;IADnB,WAAW,EAAE;;qCAED,QAAQ;;sEAgBpB;AAGmB;IADnB,WAAW,EAAE;;qCAED,QAAQ;QACT,QAAQ;;gEAuBnB"}
|