@brightchain/brightchain-api-lib 0.24.1 → 0.26.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/package.json +4 -3
- package/src/lib/application.d.ts +3 -14
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +121 -44
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclDocumentStore.d.ts +90 -0
- package/src/lib/auth/aclDocumentStore.d.ts.map +1 -0
- package/src/lib/auth/aclDocumentStore.js +155 -0
- package/src/lib/auth/aclDocumentStore.js.map +1 -0
- package/src/lib/auth/index.d.ts +4 -0
- package/src/lib/auth/index.d.ts.map +1 -1
- package/src/lib/auth/index.js +4 -0
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/auth/writeAclApiRouter.d.ts +32 -0
- package/src/lib/auth/writeAclApiRouter.d.ts.map +1 -0
- package/src/lib/auth/writeAclApiRouter.js +348 -0
- package/src/lib/auth/writeAclApiRouter.js.map +1 -0
- package/src/lib/auth/writeAclAuditLogger.d.ts +94 -0
- package/src/lib/auth/writeAclAuditLogger.d.ts.map +1 -0
- package/src/lib/auth/writeAclAuditLogger.js +143 -0
- package/src/lib/auth/writeAclAuditLogger.js.map +1 -0
- package/src/lib/auth/writeProofMiddleware.d.ts +39 -0
- package/src/lib/auth/writeProofMiddleware.d.ts.map +1 -0
- package/src/lib/auth/writeProofMiddleware.js +56 -0
- package/src/lib/auth/writeProofMiddleware.js.map +1 -0
- package/src/lib/availability/aclDocumentSyncHandler.d.ts +39 -0
- package/src/lib/availability/aclDocumentSyncHandler.d.ts.map +1 -0
- package/src/lib/availability/aclDocumentSyncHandler.js +81 -0
- package/src/lib/availability/aclDocumentSyncHandler.js.map +1 -0
- package/src/lib/availability/gossipService.d.ts +4 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +15 -1
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/headUpdateSyncHandler.d.ts +32 -0
- package/src/lib/availability/headUpdateSyncHandler.d.ts.map +1 -0
- package/src/lib/availability/headUpdateSyncHandler.js +78 -0
- package/src/lib/availability/headUpdateSyncHandler.js.map +1 -0
- package/src/lib/availability/index.d.ts +2 -0
- package/src/lib/availability/index.d.ts.map +1 -1
- package/src/lib/availability/index.js +2 -0
- package/src/lib/availability/index.js.map +1 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +2 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/brighthub/connectionController.d.ts +6 -0
- package/src/lib/controllers/api/brighthub/connectionController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/connectionController.js +158 -11
- package/src/lib/controllers/api/brighthub/connectionController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/messagingController.d.ts +6 -0
- package/src/lib/controllers/api/brighthub/messagingController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/messagingController.js +190 -58
- package/src/lib/controllers/api/brighthub/messagingController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/postController.d.ts +12 -3
- package/src/lib/controllers/api/brighthub/postController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/postController.js +60 -0
- package/src/lib/controllers/api/brighthub/postController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/timelineController.d.ts +19 -0
- package/src/lib/controllers/api/brighthub/timelineController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/timelineController.js +133 -0
- package/src/lib/controllers/api/brighthub/timelineController.js.map +1 -1
- package/src/lib/controllers/api/emails.d.ts +4 -1
- package/src/lib/controllers/api/emails.d.ts.map +1 -1
- package/src/lib/controllers/api/emails.js +28 -1
- package/src/lib/controllers/api/emails.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +10 -0
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/databaseInit.d.ts +7 -11
- package/src/lib/databaseInit.d.ts.map +1 -1
- package/src/lib/databaseInit.js +41 -97
- package/src/lib/databaseInit.js.map +1 -1
- package/src/lib/datastore/block-document-store-factory.d.ts +3 -0
- package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store-factory.js +15 -18
- package/src/lib/datastore/block-document-store-factory.js.map +1 -1
- package/src/lib/datastore/block-document-store.d.ts +2 -191
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +4 -628
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/datastore/document-store.d.ts +1 -62
- package/src/lib/datastore/document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.d.ts +1 -8
- package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.js +3 -214
- package/src/lib/datastore/memory-document-store.js.map +1 -1
- package/src/lib/environment.d.ts +3 -20
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +2 -45
- package/src/lib/environment.js.map +1 -1
- package/src/lib/factories/blockStoreFactory.d.ts.map +1 -1
- package/src/lib/factories/blockStoreFactory.js +4 -1
- package/src/lib/factories/blockStoreFactory.js.map +1 -1
- package/src/lib/interfaces/environment.d.ts +23 -2
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts +8 -1
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts.map +1 -1
- package/src/lib/middleware/index.d.ts +1 -1
- package/src/lib/middleware/index.d.ts.map +1 -1
- package/src/lib/middleware/index.js +3 -2
- package/src/lib/middleware/index.js.map +1 -1
- package/src/lib/middleware/validateBody.d.ts +1 -12
- package/src/lib/middleware/validateBody.d.ts.map +1 -1
- package/src/lib/middleware/validateBody.js +4 -32
- package/src/lib/middleware/validateBody.js.map +1 -1
- package/src/lib/middlewares.d.ts.map +1 -1
- package/src/lib/middlewares.js +7 -1
- package/src/lib/middlewares.js.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.d.ts +27 -79
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +27 -97
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/routers/api.d.ts +18 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +24 -1
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/routers/app.d.ts.map +1 -1
- package/src/lib/routers/app.js +5 -2
- package/src/lib/routers/app.js.map +1 -1
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +37 -3
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/blockStore.d.ts +8 -1
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +19 -7
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightChainBackupCodeService.d.ts +42 -39
- package/src/lib/services/brightChainBackupCodeService.d.ts.map +1 -1
- package/src/lib/services/brightChainBackupCodeService.js +86 -61
- package/src/lib/services/brightChainBackupCodeService.js.map +1 -1
- package/src/lib/services/brighthub/collectionAdapter.d.ts +81 -0
- package/src/lib/services/brighthub/collectionAdapter.d.ts.map +1 -0
- package/src/lib/services/brighthub/collectionAdapter.js +127 -0
- package/src/lib/services/brighthub/collectionAdapter.js.map +1 -0
- package/src/lib/services/brighthub/connectionService.d.ts.map +1 -1
- package/src/lib/services/brighthub/connectionService.js +3 -0
- package/src/lib/services/brighthub/connectionService.js.map +1 -1
- package/src/lib/services/brighthub/messagingService.d.ts +4 -0
- package/src/lib/services/brighthub/messagingService.d.ts.map +1 -1
- package/src/lib/services/brighthub/messagingService.js +25 -4
- package/src/lib/services/brighthub/messagingService.js.map +1 -1
- package/src/lib/services/brighthub/notificationService.d.ts.map +1 -1
- package/src/lib/services/brighthub/notificationService.js +35 -20
- package/src/lib/services/brighthub/notificationService.js.map +1 -1
- package/src/lib/services/brighthub/postService.d.ts +7 -1
- package/src/lib/services/brighthub/postService.d.ts.map +1 -1
- package/src/lib/services/brighthub/postService.js +22 -1
- package/src/lib/services/brighthub/postService.js.map +1 -1
- package/src/lib/services/brighthub/userProfileService.d.ts +19 -1
- package/src/lib/services/brighthub/userProfileService.d.ts.map +1 -1
- package/src/lib/services/brighthub/userProfileService.js +74 -0
- package/src/lib/services/brighthub/userProfileService.js.map +1 -1
- package/src/lib/services/emailGateway/antiSpamFilter.d.ts +229 -0
- package/src/lib/services/emailGateway/antiSpamFilter.d.ts.map +1 -0
- package/src/lib/services/emailGateway/antiSpamFilter.js +325 -0
- package/src/lib/services/emailGateway/antiSpamFilter.js.map +1 -0
- package/src/lib/services/emailGateway/bounceProcessor.d.ts +171 -0
- package/src/lib/services/emailGateway/bounceProcessor.d.ts.map +1 -0
- package/src/lib/services/emailGateway/bounceProcessor.js +378 -0
- package/src/lib/services/emailGateway/bounceProcessor.js.map +1 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.d.ts +99 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.js +202 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.js.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.d.ts +73 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.js +107 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.js.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayService.d.ts +152 -0
- package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayService.js +201 -0
- package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -0
- package/src/lib/services/emailGateway/gatewayObservability.d.ts +123 -0
- package/src/lib/services/emailGateway/gatewayObservability.d.ts.map +1 -0
- package/src/lib/services/emailGateway/gatewayObservability.js +186 -0
- package/src/lib/services/emailGateway/gatewayObservability.js.map +1 -0
- package/src/lib/services/emailGateway/inboundProcessor.d.ts +113 -0
- package/src/lib/services/emailGateway/inboundProcessor.d.ts.map +1 -0
- package/src/lib/services/emailGateway/inboundProcessor.js +298 -0
- package/src/lib/services/emailGateway/inboundProcessor.js.map +1 -0
- package/src/lib/services/emailGateway/index.d.ts +23 -0
- package/src/lib/services/emailGateway/index.d.ts.map +1 -0
- package/src/lib/services/emailGateway/index.js +26 -0
- package/src/lib/services/emailGateway/index.js.map +1 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts +111 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.js +97 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.js.map +1 -0
- package/src/lib/services/emailGateway/outboundQueue.d.ts +135 -0
- package/src/lib/services/emailGateway/outboundQueue.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundQueue.js +227 -0
- package/src/lib/services/emailGateway/outboundQueue.js.map +1 -0
- package/src/lib/services/emailGateway/outboundQueueStore.d.ts +110 -0
- package/src/lib/services/emailGateway/outboundQueueStore.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundQueueStore.js +131 -0
- package/src/lib/services/emailGateway/outboundQueueStore.js.map +1 -0
- package/src/lib/services/emailGateway/recipientLookupService.d.ts +135 -0
- package/src/lib/services/emailGateway/recipientLookupService.d.ts.map +1 -0
- package/src/lib/services/emailGateway/recipientLookupService.js +294 -0
- package/src/lib/services/emailGateway/recipientLookupService.js.map +1 -0
- package/src/lib/services/emailGateway/retryBackoff.d.ts +79 -0
- package/src/lib/services/emailGateway/retryBackoff.d.ts.map +1 -0
- package/src/lib/services/emailGateway/retryBackoff.js +77 -0
- package/src/lib/services/emailGateway/retryBackoff.js.map +1 -0
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/index.d.ts +2 -1
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -1
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +7 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.js +83 -0
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
- package/src/lib/services/sessionAdapter.d.ts +2 -61
- package/src/lib/services/sessionAdapter.d.ts.map +1 -1
- package/src/lib/services/sessionAdapter.js +2 -102
- package/src/lib/services/sessionAdapter.js.map +1 -1
- package/src/lib/shared-types.d.ts +7 -15
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +4 -3
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +5 -2
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/cloudBlockStoreBase.d.ts +2 -1
- package/src/lib/stores/cloudBlockStoreBase.d.ts.map +1 -1
- package/src/lib/stores/cloudBlockStoreBase.js +34 -13
- package/src/lib/stores/cloudBlockStoreBase.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +21 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +48 -17
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts +10 -2
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +43 -19
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/types/backend-id.d.ts +1 -2
- package/src/lib/types/backend-id.d.ts.map +1 -1
- package/src/lib/utils/emailValidation.d.ts.map +1 -1
- package/src/lib/utils/emailValidation.js +2 -1
- package/src/lib/utils/emailValidation.js.map +1 -1
- package/src/lib/validation/userValidation.d.ts +2 -43
- package/src/lib/validation/userValidation.d.ts.map +1 -1
- package/src/lib/validation/userValidation.js +6 -144
- package/src/lib/validation/userValidation.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,SAAS,IAAI,iBAAiB,EAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;GAKG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACjD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;gBAE1C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAKrC;;;OAGG;IACI,uBAAuB,IAAI,SAAS,CAAC,GAAG,CAAC;IAIhD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;;;;;OASG;IACa,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,SAAS,IAAI,iBAAiB,EAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;GAKG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACjD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;gBAE1C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAKrC;;;OAGG;IACI,uBAAuB,IAAI,SAAS,CAAC,GAAG,CAAC;IAIhD;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;;;;;OASG;IACa,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI;CA6DR"}
|
package/src/lib/routers/app.js
CHANGED
|
@@ -128,15 +128,18 @@ class AppRouter extends node_express_suite_1.AppRouter {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
const environment = this.application.environment;
|
|
131
|
+
const baseLocals = this.getBaseViewLocals(req, res);
|
|
131
132
|
const locals = {
|
|
132
|
-
...
|
|
133
|
-
fontawesomeKitId: environment.fontAwesomeKitId,
|
|
133
|
+
...baseLocals,
|
|
134
134
|
jsFile: jsFile ? `assets/${jsFile}` : undefined,
|
|
135
135
|
cssFile: cssFile ? `assets/${cssFile}` : undefined,
|
|
136
136
|
// Script list for non-Vite builds (hashed or dev)
|
|
137
137
|
devScripts,
|
|
138
138
|
// Additional CSS from webpack index.html
|
|
139
139
|
webpackCss,
|
|
140
|
+
// Override fontAwesomeKitId after spread to ensure it's not empty
|
|
141
|
+
fontAwesomeKitId: environment.fontAwesomeKitId || baseLocals['fontAwesomeKitId'] || '',
|
|
142
|
+
siteUrl: environment.serverUrl,
|
|
140
143
|
};
|
|
141
144
|
this.renderTemplate(req, res, next, 'index', locals);
|
|
142
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EAGZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAEL,MAAM,EACN,UAAU,EAEX,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAC,CAAyC;gBAG5D,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,iCAAiC,CAAC,GAAG,CAAC;IAUjD,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,UAAU,CAAC;IAkGhB,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6C/D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAYjE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASlD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAStD,cAAc,CAClB,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAUV,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IA+BrC;;;;;;;;;;OAUG;IACG,0BAA0B,CAC9B,mBAAmB,EAAE,MAAM,EAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;KACjC,CAAC;YA6LY,gBAAgB;CA2B/B"}
|
package/src/lib/services/auth.js
CHANGED
|
@@ -37,7 +37,7 @@ class AuthService extends base_1.BaseService {
|
|
|
37
37
|
throw new Error('Password value is empty');
|
|
38
38
|
}
|
|
39
39
|
const passwordHash = await bcrypt.hash(passwordValue, BCRYPT_ROUNDS);
|
|
40
|
-
const { reference } = await this.memberStore.createMember({
|
|
40
|
+
const { reference, mnemonic } = await this.memberStore.createMember({
|
|
41
41
|
type: ecies_lib_1.MemberType.User,
|
|
42
42
|
name: username,
|
|
43
43
|
contactEmail: new brightchain_lib_1.EmailString(email),
|
|
@@ -47,12 +47,46 @@ class AuthService extends base_1.BaseService {
|
|
|
47
47
|
const memberId = sp.idProvider.idToString(reference.id);
|
|
48
48
|
const idRawBytes = sp.idProvider.toBytes(reference.id);
|
|
49
49
|
const memberChecksum = sp.checksumService.calculateChecksum(idRawBytes);
|
|
50
|
-
//
|
|
51
|
-
|
|
50
|
+
// Reconstruct the member from the mnemonic so we have the private key.
|
|
51
|
+
// createMember() generates the keypair internally but only returns a
|
|
52
|
+
// reference — we need the live Member with private key to wrap it.
|
|
53
|
+
const eciesService = sp.eciesService;
|
|
54
|
+
const { member: liveMember } = node_ecies_lib_1.Member.newMember(eciesService, ecies_lib_1.MemberType.User, username, new brightchain_lib_1.EmailString(email), mnemonic);
|
|
55
|
+
// Password-wrap the private key (AES-256-GCM + PBKDF2) — matches RBAC seeding
|
|
56
|
+
let passwordWrappedPrivateKey;
|
|
57
|
+
if (liveMember.privateKey) {
|
|
58
|
+
const keyWrappingService = new node_express_suite_1.KeyWrappingService();
|
|
59
|
+
const wrapped = keyWrappingService.wrapSecret(liveMember.privateKey, password, this.application.constants);
|
|
60
|
+
passwordWrappedPrivateKey = {
|
|
61
|
+
salt: wrapped.salt,
|
|
62
|
+
iv: wrapped.iv,
|
|
63
|
+
authTag: wrapped.authTag,
|
|
64
|
+
ciphertext: wrapped.ciphertext,
|
|
65
|
+
iterations: wrapped.iterations,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
// Encrypt the mnemonic with the system user's ECIES public key for
|
|
69
|
+
// server-side recovery (backup code generation, key rotation, etc.)
|
|
70
|
+
const systemUser = node_express_suite_1.SystemUserService.getSystemUser(
|
|
71
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
72
|
+
this.application.environment, this.application.constants);
|
|
73
|
+
const mnemonicRecovery = (await systemUser.encryptData(Buffer.from(mnemonic.value ?? '', 'utf-8'))).toString('hex');
|
|
74
|
+
// Store password hash, wrapped private key, and encrypted mnemonic
|
|
75
|
+
// in the member's private profile
|
|
76
|
+
await this.memberStore.updateMember(reference.id, {
|
|
77
|
+
id: reference.id,
|
|
78
|
+
privateChanges: {
|
|
79
|
+
passwordHash,
|
|
80
|
+
passwordWrappedPrivateKey,
|
|
81
|
+
mnemonicRecovery,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
52
84
|
const energyAccount = brightchain_lib_1.EnergyAccount.createWithTrialCredits(memberChecksum);
|
|
53
85
|
await this.energyStore.set(memberChecksum, energyAccount);
|
|
54
86
|
await this.sendWelcomeEmail(email, username);
|
|
55
87
|
const token = this.signToken(memberId, username, reference.type);
|
|
88
|
+
// Dispose the live member to zero out private key material
|
|
89
|
+
liveMember.dispose();
|
|
56
90
|
return {
|
|
57
91
|
token,
|
|
58
92
|
memberId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,8 +44,15 @@ export declare class BlockStoreService<TID extends PlatformID = DefaultBackendId
|
|
|
44
44
|
* Get the FEC service if available.
|
|
45
45
|
*/
|
|
46
46
|
getFecService(): IFecService | null;
|
|
47
|
+
/**
|
|
48
|
+
* Get the supported block sizes for this service.
|
|
49
|
+
*/
|
|
50
|
+
getSupportedBlockSizes(): readonly BlockSize[];
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Use getSupportedBlockSizes() instead. Returns the first supported block size.
|
|
53
|
+
*/
|
|
47
54
|
getBlockSize(): BlockSize;
|
|
48
|
-
storeBlock(data: Buffer, options?: BlockStoreOptions): Promise<string>;
|
|
55
|
+
storeBlock(data: Buffer, options?: BlockStoreOptions, blockSize?: BlockSize): Promise<string>;
|
|
49
56
|
getBlock(blockId: string): Promise<Buffer>;
|
|
50
57
|
getBlockMetadata(blockId: string): Promise<IBlockMetadata | null>;
|
|
51
58
|
deleteBlock(blockId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,cAAc,EAEd,cAAc,EACd,WAAW,
|
|
1
|
+
{"version":3,"file":"blockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,cAAc,EAEd,cAAc,EACd,WAAW,EAGZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAA8B;gBAE3C,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAarD;;;;OAIG;YACW,oBAAoB;IA8BlC;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;OAGG;IACH,QAAQ,IAAI,mBAAmB;IAI/B;;OAEG;IACH,aAAa,IAAI,WAAW,GAAG,IAAI;IAInC;;OAEG;IACH,sBAAsB,IAAI,SAAS,SAAS,EAAE;IAI9C;;OAEG;IACH,YAAY,IAAI,SAAS;IAInB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,iBAAiB,EAC3B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC;IAeZ,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;CAG3B"}
|
|
@@ -26,10 +26,9 @@ class BlockStoreService extends base_1.BaseService {
|
|
|
26
26
|
constructor(application) {
|
|
27
27
|
super(application);
|
|
28
28
|
const storePath = this.application.environment.blockStorePath ?? 'tmp/blockstore';
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.store = new stores_1.DiskBlockAsyncStore({ storePath, blockSize });
|
|
29
|
+
const envSizes = this.application.environment.blockStoreBlockSizes;
|
|
30
|
+
const supportedBlockSizes = envSizes && envSizes.length > 0 ? envSizes : [brightchain_lib_1.BlockSize.Medium];
|
|
31
|
+
this.store = new stores_1.DiskBlockAsyncStore({ storePath, supportedBlockSizes });
|
|
33
32
|
// Start FEC service initialization in the background
|
|
34
33
|
this.initializeFecService();
|
|
35
34
|
}
|
|
@@ -81,11 +80,24 @@ class BlockStoreService extends base_1.BaseService {
|
|
|
81
80
|
getFecService() {
|
|
82
81
|
return this.store.getFecService();
|
|
83
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the supported block sizes for this service.
|
|
85
|
+
*/
|
|
86
|
+
getSupportedBlockSizes() {
|
|
87
|
+
return this.store.supportedBlockSizes;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @deprecated Use getSupportedBlockSizes() instead. Returns the first supported block size.
|
|
91
|
+
*/
|
|
84
92
|
getBlockSize() {
|
|
85
|
-
return this.store.
|
|
93
|
+
return this.store.supportedBlockSizes[0];
|
|
86
94
|
}
|
|
87
|
-
async storeBlock(data, options) {
|
|
88
|
-
const
|
|
95
|
+
async storeBlock(data, options, blockSize) {
|
|
96
|
+
const resolvedSize = blockSize ?? (0, brightchain_lib_1.lengthToClosestBlockSize)(data.length);
|
|
97
|
+
if (!this.store.supportedBlockSizes.includes(resolvedSize)) {
|
|
98
|
+
throw new Error(`Block size ${resolvedSize} is not supported. Supported sizes: [${this.store.supportedBlockSizes.join(', ')}]`);
|
|
99
|
+
}
|
|
100
|
+
const block = new brightchain_lib_1.RawDataBlock(resolvedSize, data);
|
|
89
101
|
const blockId = block.idChecksum.toHex();
|
|
90
102
|
await this.store.setData(block, options);
|
|
91
103
|
return blockId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"blockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/blockStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,14 @@ export declare class BrightChainBackupCodeService<TID extends PlatformID = Uint8
|
|
|
30
30
|
* Generate N plaintext codes, encrypt them, persist to member profile,
|
|
31
31
|
* and return the plaintext strings.
|
|
32
32
|
*
|
|
33
|
-
* 1. Resolve system user
|
|
34
|
-
* 2.
|
|
35
|
-
* 3.
|
|
36
|
-
* 4.
|
|
37
|
-
* 5.
|
|
33
|
+
* 1. Resolve system user
|
|
34
|
+
* 2. Retrieve the member's encrypted mnemonic from their private profile
|
|
35
|
+
* 3. Decrypt the mnemonic using the system user's private key
|
|
36
|
+
* 4. Reconstruct a node-ecies-lib Member with private key from the mnemonic
|
|
37
|
+
* 5. Generate `Count` random backup codes via upstream BackupCode primitives
|
|
38
|
+
* 6. Encrypt codes (Argon2id KDF → AEAD → ECIES wrap) via upstream static method
|
|
39
|
+
* 7. Persist encrypted codes to member's private profile via MemberStore
|
|
40
|
+
* 8. Return plaintext display-formatted strings
|
|
38
41
|
*/
|
|
39
42
|
generateCodes(memberId: TID): Promise<string[]>;
|
|
40
43
|
/**
|
|
@@ -59,25 +62,25 @@ export declare class BrightChainBackupCodeService<TID extends PlatformID = Uint8
|
|
|
59
62
|
* Recover the user's private key from a consumed backup code entry.
|
|
60
63
|
*/
|
|
61
64
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
65
|
+
* Recover the user's private key from a consumed backup code entry.
|
|
66
|
+
*
|
|
67
|
+
* Flow (mirrors upstream BackupCodeService.recoverKeyWithBackupCodeV1):
|
|
68
|
+
* 1. Retrieve stored backup codes from the member's private profile
|
|
69
|
+
* 2. Consume the submitted code via useBackupCode() (constant-time checksum match)
|
|
70
|
+
* 3. Unwrap the ECIES layer using the system user's private key
|
|
71
|
+
* 4. Derive the Argon2id key from the plaintext code + per-code salt
|
|
72
|
+
* 5. Decrypt the AEAD blob to recover the user's private key
|
|
73
|
+
* 6. Reconstruct a Member with the recovered private key
|
|
74
|
+
* 7. Optionally re-wrap the private key with a new password
|
|
75
|
+
* 8. Persist the updated codes array (consumed code removed)
|
|
76
|
+
*
|
|
77
|
+
* @param memberId - The ID of the member whose key is being recovered
|
|
78
|
+
* @param backupCode - The plaintext backup code submitted by the user
|
|
79
|
+
* @param newPassword - Optional new password to re-wrap the recovered private key
|
|
80
|
+
* @returns The recovered BackendMember and remaining backup code count
|
|
81
|
+
* @throws {InvalidBackupCodeError} If the submitted code doesn't match any stored code
|
|
82
|
+
* @throws {Error} If the system user is not available or member is not found
|
|
83
|
+
*/
|
|
81
84
|
recoverKeyWithBackupCode(memberId: TID, backupCode: string, newPassword?: string): Promise<{
|
|
82
85
|
user: Member<TID>;
|
|
83
86
|
codeCount: number;
|
|
@@ -94,21 +97,21 @@ export declare class BrightChainBackupCodeService<TID extends PlatformID = Uint8
|
|
|
94
97
|
* Re-wrap all users' backup codes with a new system key (key rotation).
|
|
95
98
|
*/
|
|
96
99
|
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
100
|
+
* Re-wrap all users' backup codes with a new system key (key rotation).
|
|
101
|
+
*
|
|
102
|
+
* For each member in the store:
|
|
103
|
+
* 1. Retrieve their stored backup codes from the private profile
|
|
104
|
+
* 2. For each code, unwrap the ECIES layer with the old system key
|
|
105
|
+
* 3. Re-wrap the inner AEAD blob with the new system key
|
|
106
|
+
* 4. Persist the re-wrapped codes back to the member's private profile
|
|
107
|
+
*
|
|
108
|
+
* Individual user failures are logged and skipped — processing continues
|
|
109
|
+
* for remaining users.
|
|
110
|
+
*
|
|
111
|
+
* @param oldSystem - The old system user whose private key unwraps existing ECIES layers
|
|
112
|
+
* @param newSystem - The new system user whose public key re-wraps the AEAD blobs
|
|
113
|
+
* @returns The count of users whose codes were successfully re-wrapped
|
|
114
|
+
*/
|
|
112
115
|
rewrapAllUsersBackupCodes(oldSystem: Member<TID>, newSystem: Member<TID>): Promise<number>;
|
|
113
116
|
}
|
|
114
117
|
//# sourceMappingURL=brightChainBackupCodeService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brightChainBackupCodeService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightChainBackupCodeService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EACjB,WAAW,EACZ,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"brightChainBackupCodeService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/brightChainBackupCodeService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,iBAAiB,EACjB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,YAAY,EACZ,MAAM,EACN,UAAU,EACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAGL,kBAAkB,EAEnB,MAAM,qCAAqC,CAAC;AAG7C;;;;;;;GAOG;AACH,qBAAa,4BAA4B,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAC3D,OAAO,CAAC,UAAU,CAAC,CAAc;gBAG/B,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,EAC7B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/B,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,oBAAoB;IAQ3C;;;OAGG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI;IAI7C;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAwErD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IASlD;;;;;;;;;OASG;IACH,aAAa,CACX,oBAAoB,EAAE,iBAAiB,EAAE,EACzC,UAAU,EAAE,MAAM,GACjB;QAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE;IAmDlE;;OAEG;IACH;;;;;;;;;;;;;;;;;;;OAmBG;IACG,wBAAwB,CAC5B,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA0FpD;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWvD;;OAEG;IACH;;;;;;;;;;;;;;;OAeG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EACtB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,OAAO,CAAC,MAAM,CAAC;CA8DnB"}
|
|
@@ -46,38 +46,63 @@ class BrightChainBackupCodeService {
|
|
|
46
46
|
* Generate N plaintext codes, encrypt them, persist to member profile,
|
|
47
47
|
* and return the plaintext strings.
|
|
48
48
|
*
|
|
49
|
-
* 1. Resolve system user
|
|
50
|
-
* 2.
|
|
51
|
-
* 3.
|
|
52
|
-
* 4.
|
|
53
|
-
* 5.
|
|
49
|
+
* 1. Resolve system user
|
|
50
|
+
* 2. Retrieve the member's encrypted mnemonic from their private profile
|
|
51
|
+
* 3. Decrypt the mnemonic using the system user's private key
|
|
52
|
+
* 4. Reconstruct a node-ecies-lib Member with private key from the mnemonic
|
|
53
|
+
* 5. Generate `Count` random backup codes via upstream BackupCode primitives
|
|
54
|
+
* 6. Encrypt codes (Argon2id KDF → AEAD → ECIES wrap) via upstream static method
|
|
55
|
+
* 7. Persist encrypted codes to member's private profile via MemberStore
|
|
56
|
+
* 8. Return plaintext display-formatted strings
|
|
54
57
|
*/
|
|
55
58
|
async generateCodes(memberId) {
|
|
56
59
|
const systemUser = this.getSystemUser();
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
codes.push(new node_express_suite_1.BackupCode(node_express_suite_1.BackupCode.generateBackupCode()));
|
|
63
|
-
}
|
|
64
|
-
// Encrypt codes using the upstream multi-layer scheme
|
|
65
|
-
// (HKDF-SHA256 checksum, Argon2id KDF, AEAD encryption, ECIES wrapping)
|
|
66
|
-
// MemberStore returns ecies-lib Member; BackupCode expects node-ecies-lib Member.
|
|
67
|
-
// Node_Member extends Base_Member, so instanceof narrows safely.
|
|
68
|
-
if (!(backupUser instanceof node_ecies_lib_1.Member)) {
|
|
69
|
-
throw new Error('backupUser must be a node-ecies-lib Member (Node_Member)');
|
|
60
|
+
// Retrieve the member's private profile to get the encrypted mnemonic
|
|
61
|
+
const profile = await this.memberStore.getMemberProfile(memberId);
|
|
62
|
+
if (!profile.privateProfile?.mnemonicRecovery) {
|
|
63
|
+
throw new Error('Member has no encrypted mnemonic — cannot generate backup codes. ' +
|
|
64
|
+
'This member may have been created before mnemonic recovery was implemented.');
|
|
70
65
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
// Decrypt the mnemonic using the system user's private key
|
|
67
|
+
const decryptedMnemonicBuf = await systemUser.decryptData(Buffer.from(profile.privateProfile.mnemonicRecovery, 'hex'));
|
|
68
|
+
const mnemonicString = decryptedMnemonicBuf.toString('utf-8');
|
|
69
|
+
// Retrieve the base member for metadata (name, email, type, id)
|
|
70
|
+
const baseMember = await this.memberStore.getMember(memberId);
|
|
71
|
+
// Reconstruct a node-ecies-lib Member with private key from the mnemonic.
|
|
72
|
+
// This produces the same keypair that was generated during registration.
|
|
73
|
+
const { member: backupUser } = node_ecies_lib_1.Member.newMember(this.eciesService, baseMember.type, baseMember.name, baseMember.email instanceof ecies_lib_1.EmailString
|
|
74
|
+
? baseMember.email
|
|
75
|
+
: new ecies_lib_1.EmailString(String(baseMember.email)), new ecies_lib_1.SecureString(mnemonicString));
|
|
76
|
+
// Patch the reconstructed member's ID to match the stored member
|
|
77
|
+
Object.defineProperty(backupUser, 'id', {
|
|
78
|
+
get: () => baseMember.id,
|
|
79
|
+
configurable: true,
|
|
78
80
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
try {
|
|
82
|
+
// Generate plaintext backup codes using upstream primitives
|
|
83
|
+
const count = this.backupCodeConstants.Count;
|
|
84
|
+
const codes = [];
|
|
85
|
+
for (let i = 0; i < count; i++) {
|
|
86
|
+
codes.push(new node_express_suite_1.BackupCode(node_express_suite_1.BackupCode.generateBackupCode()));
|
|
87
|
+
}
|
|
88
|
+
// Encrypt codes using the upstream multi-layer scheme
|
|
89
|
+
// (HKDF-SHA256 checksum, Argon2id KDF, AEAD encryption, ECIES wrapping)
|
|
90
|
+
const encryptedCodes = await node_express_suite_1.BackupCode.encryptBackupCodes(backupUser, systemUser, codes);
|
|
91
|
+
// Persist encrypted codes to member's private profile
|
|
92
|
+
await this.memberStore.updateMember(memberId, {
|
|
93
|
+
id: memberId,
|
|
94
|
+
privateChanges: {
|
|
95
|
+
backupCodes: encryptedCodes,
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
// Return plaintext display-formatted strings (e.g. xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxx)
|
|
99
|
+
return codes.map((code) => code.value);
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
// Zero out private key material
|
|
103
|
+
backupUser.dispose();
|
|
104
|
+
decryptedMnemonicBuf.fill(0);
|
|
105
|
+
}
|
|
81
106
|
}
|
|
82
107
|
/**
|
|
83
108
|
* Return the count of stored backup codes for a member.
|
|
@@ -139,25 +164,25 @@ class BrightChainBackupCodeService {
|
|
|
139
164
|
* Recover the user's private key from a consumed backup code entry.
|
|
140
165
|
*/
|
|
141
166
|
/**
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
167
|
+
* Recover the user's private key from a consumed backup code entry.
|
|
168
|
+
*
|
|
169
|
+
* Flow (mirrors upstream BackupCodeService.recoverKeyWithBackupCodeV1):
|
|
170
|
+
* 1. Retrieve stored backup codes from the member's private profile
|
|
171
|
+
* 2. Consume the submitted code via useBackupCode() (constant-time checksum match)
|
|
172
|
+
* 3. Unwrap the ECIES layer using the system user's private key
|
|
173
|
+
* 4. Derive the Argon2id key from the plaintext code + per-code salt
|
|
174
|
+
* 5. Decrypt the AEAD blob to recover the user's private key
|
|
175
|
+
* 6. Reconstruct a Member with the recovered private key
|
|
176
|
+
* 7. Optionally re-wrap the private key with a new password
|
|
177
|
+
* 8. Persist the updated codes array (consumed code removed)
|
|
178
|
+
*
|
|
179
|
+
* @param memberId - The ID of the member whose key is being recovered
|
|
180
|
+
* @param backupCode - The plaintext backup code submitted by the user
|
|
181
|
+
* @param newPassword - Optional new password to re-wrap the recovered private key
|
|
182
|
+
* @returns The recovered BackendMember and remaining backup code count
|
|
183
|
+
* @throws {InvalidBackupCodeError} If the submitted code doesn't match any stored code
|
|
184
|
+
* @throws {Error} If the system user is not available or member is not found
|
|
185
|
+
*/
|
|
161
186
|
async recoverKeyWithBackupCode(memberId, backupCode, newPassword) {
|
|
162
187
|
const systemUser = this.getSystemUser();
|
|
163
188
|
// Retrieve the member (for public key, name, email, type, etc.)
|
|
@@ -236,21 +261,21 @@ class BrightChainBackupCodeService {
|
|
|
236
261
|
* Re-wrap all users' backup codes with a new system key (key rotation).
|
|
237
262
|
*/
|
|
238
263
|
/**
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
264
|
+
* Re-wrap all users' backup codes with a new system key (key rotation).
|
|
265
|
+
*
|
|
266
|
+
* For each member in the store:
|
|
267
|
+
* 1. Retrieve their stored backup codes from the private profile
|
|
268
|
+
* 2. For each code, unwrap the ECIES layer with the old system key
|
|
269
|
+
* 3. Re-wrap the inner AEAD blob with the new system key
|
|
270
|
+
* 4. Persist the re-wrapped codes back to the member's private profile
|
|
271
|
+
*
|
|
272
|
+
* Individual user failures are logged and skipped — processing continues
|
|
273
|
+
* for remaining users.
|
|
274
|
+
*
|
|
275
|
+
* @param oldSystem - The old system user whose private key unwraps existing ECIES layers
|
|
276
|
+
* @param newSystem - The new system user whose public key re-wraps the AEAD blobs
|
|
277
|
+
* @returns The count of users whose codes were successfully re-wrapped
|
|
278
|
+
*/
|
|
254
279
|
async rewrapAllUsersBackupCodes(oldSystem, newSystem) {
|
|
255
280
|
// Query all members from the index
|
|
256
281
|
const memberRefs = await this.memberStore.queryIndex({});
|