libre-webui 0.26.0 → 0.27.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.
Files changed (249) hide show
  1. package/backend/dist/index.d.ts.map +1 -1
  2. package/backend/dist/index.js +7 -0
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts +9 -0
  5. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -0
  6. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +107 -0
  7. package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -0
  8. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  9. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  10. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  11. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
  12. package/backend/dist/persistence/postgresResourceRepositories.js +162 -0
  13. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  14. package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
  15. package/backend/dist/persistence/postgresSecurityRepositories.js +150 -0
  16. package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
  17. package/backend/dist/persistence/resourceTypes.d.ts +59 -0
  18. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
  19. package/backend/dist/persistence/resourceTypes.js.map +1 -1
  20. package/backend/dist/persistence/securityTypes.d.ts +59 -0
  21. package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
  22. package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
  23. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  24. package/backend/dist/persistence/sqliteMigrations.js +194 -0
  25. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  26. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
  27. package/backend/dist/persistence/sqliteResourceRepositories.js +134 -0
  28. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  29. package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
  30. package/backend/dist/persistence/sqliteSecurityRepositories.js +134 -0
  31. package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
  32. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  33. package/backend/dist/persistence/sqliteToPostgresMigration.js +45 -0
  34. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  35. package/backend/dist/platform/jobs/domainJobContracts.d.ts +2 -0
  36. package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
  37. package/backend/dist/platform/jobs/domainJobContracts.js +2 -0
  38. package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
  39. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
  40. package/backend/dist/platform/jobs/domainJobHandlers.js +65 -2
  41. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
  42. package/backend/dist/routes/auth.d.ts.map +1 -1
  43. package/backend/dist/routes/auth.js +419 -1
  44. package/backend/dist/routes/auth.js.map +1 -1
  45. package/backend/dist/routes/documents.d.ts.map +1 -1
  46. package/backend/dist/routes/documents.js +4 -0
  47. package/backend/dist/routes/documents.js.map +1 -1
  48. package/backend/dist/routes/push.d.ts +3 -0
  49. package/backend/dist/routes/push.d.ts.map +1 -0
  50. package/backend/dist/routes/push.js +105 -0
  51. package/backend/dist/routes/push.js.map +1 -0
  52. package/backend/dist/routes/recovery.d.ts +3 -0
  53. package/backend/dist/routes/recovery.d.ts.map +1 -0
  54. package/backend/dist/routes/recovery.js +83 -0
  55. package/backend/dist/routes/recovery.js.map +1 -0
  56. package/backend/dist/routes/users.d.ts.map +1 -1
  57. package/backend/dist/routes/users.js +35 -0
  58. package/backend/dist/routes/users.js.map +1 -1
  59. package/backend/dist/services/authService.d.ts +6 -0
  60. package/backend/dist/services/authService.d.ts.map +1 -1
  61. package/backend/dist/services/authService.js +9 -0
  62. package/backend/dist/services/authService.js.map +1 -1
  63. package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
  64. package/backend/dist/services/automationSchedulerService.js +7 -0
  65. package/backend/dist/services/automationSchedulerService.js.map +1 -1
  66. package/backend/dist/services/dataArchiveService.d.ts.map +1 -1
  67. package/backend/dist/services/dataArchiveService.js +3 -0
  68. package/backend/dist/services/dataArchiveService.js.map +1 -1
  69. package/backend/dist/services/documentMediaExtractionService.d.ts +40 -0
  70. package/backend/dist/services/documentMediaExtractionService.d.ts.map +1 -0
  71. package/backend/dist/services/documentMediaExtractionService.js +157 -0
  72. package/backend/dist/services/documentMediaExtractionService.js.map +1 -0
  73. package/backend/dist/services/documentService.d.ts +6 -0
  74. package/backend/dist/services/documentService.d.ts.map +1 -1
  75. package/backend/dist/services/documentService.js +58 -4
  76. package/backend/dist/services/documentService.js.map +1 -1
  77. package/backend/dist/services/encryptionService.d.ts +6 -0
  78. package/backend/dist/services/encryptionService.d.ts.map +1 -1
  79. package/backend/dist/services/encryptionService.js +12 -0
  80. package/backend/dist/services/encryptionService.js.map +1 -1
  81. package/backend/dist/services/mfaService.d.ts +64 -0
  82. package/backend/dist/services/mfaService.d.ts.map +1 -0
  83. package/backend/dist/services/mfaService.js +263 -0
  84. package/backend/dist/services/mfaService.js.map +1 -0
  85. package/backend/dist/services/notificationService.d.ts +5 -0
  86. package/backend/dist/services/notificationService.d.ts.map +1 -1
  87. package/backend/dist/services/notificationService.js +33 -1
  88. package/backend/dist/services/notificationService.js.map +1 -1
  89. package/backend/dist/services/preferencesService.d.ts +1 -1
  90. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  91. package/backend/dist/services/preferencesService.js +1 -0
  92. package/backend/dist/services/preferencesService.js.map +1 -1
  93. package/backend/dist/services/recoveryDrillService.d.ts +57 -0
  94. package/backend/dist/services/recoveryDrillService.d.ts.map +1 -0
  95. package/backend/dist/services/recoveryDrillService.js +363 -0
  96. package/backend/dist/services/recoveryDrillService.js.map +1 -0
  97. package/backend/dist/services/webPushService.d.ts +71 -0
  98. package/backend/dist/services/webPushService.d.ts.map +1 -0
  99. package/backend/dist/services/webPushService.js +328 -0
  100. package/backend/dist/services/webPushService.js.map +1 -0
  101. package/backend/dist/services/webauthnService.d.ts +58 -0
  102. package/backend/dist/services/webauthnService.d.ts.map +1 -0
  103. package/backend/dist/services/webauthnService.js +300 -0
  104. package/backend/dist/services/webauthnService.js.map +1 -0
  105. package/backend/dist/types/index.d.ts +3 -2
  106. package/backend/dist/types/index.d.ts.map +1 -1
  107. package/backend/dist/types/index.js.map +1 -1
  108. package/backend/dist/utils/documentExtraction.d.ts +31 -3
  109. package/backend/dist/utils/documentExtraction.d.ts.map +1 -1
  110. package/backend/dist/utils/documentExtraction.js +106 -0
  111. package/backend/dist/utils/documentExtraction.js.map +1 -1
  112. package/backend/dist/utils/toolEgress.d.ts +2 -1
  113. package/backend/dist/utils/toolEgress.d.ts.map +1 -1
  114. package/backend/dist/utils/toolEgress.js +14 -2
  115. package/backend/dist/utils/toolEgress.js.map +1 -1
  116. package/backend/dist/utils/totp.d.ts +19 -0
  117. package/backend/dist/utils/totp.d.ts.map +1 -0
  118. package/backend/dist/utils/totp.js +117 -0
  119. package/backend/dist/utils/totp.js.map +1 -0
  120. package/backend/dist/utils/webauthn.d.ts +43 -0
  121. package/backend/dist/utils/webauthn.d.ts.map +1 -0
  122. package/backend/dist/utils/webauthn.js +294 -0
  123. package/backend/dist/utils/webauthn.js.map +1 -0
  124. package/backend/package.json +1 -1
  125. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  126. package/frontend/dist/assets/index-DBAf_VaS.js +47 -0
  127. package/frontend/dist/assets/index-kn_Axjts.css +1 -0
  128. package/frontend/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
  129. package/frontend/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
  130. package/frontend/dist/fonts/jetbrains-mono.css +24 -0
  131. package/frontend/dist/index.html +20 -13
  132. package/frontend/dist/js/ArtifactContainer-C9zNtCay.js +1 -0
  133. package/frontend/dist/js/{ArtifactDemoPage-D0JEIAbZ.js → ArtifactDemoPage-C-EBFBCt.js} +1 -1
  134. package/frontend/dist/js/ArtifactSandboxFrame-CTA1j_d1.js +111 -0
  135. package/frontend/dist/js/ArtifactSlideOutPanel-BOENbOiv.js +1 -0
  136. package/frontend/dist/js/AutomationsPage-C58MQ4te.js +1 -0
  137. package/frontend/dist/js/CalendarPage-BcdAZ292.js +1 -0
  138. package/frontend/dist/js/ChannelsPage-DPr9Yajs.js +1 -0
  139. package/frontend/dist/js/ChatPage-DsbB748s.js +14 -0
  140. package/frontend/dist/js/{EvaluationsPage-Bm8FRoeX.js → EvaluationsPage-FWIJu2fI.js} +1 -1
  141. package/frontend/dist/js/FirstTimeSetup-Cy-w6xko.js +1 -0
  142. package/frontend/dist/js/GalleryPage-DDAtxM-x.js +1 -0
  143. package/frontend/dist/js/{HomePage-BqNy-FWX.js → HomePage-DLKwmE7n.js} +1 -1
  144. package/frontend/dist/js/LibreClawPage-vKOj-9w9.js +1 -0
  145. package/frontend/dist/js/{ModelManagerModals-DX9eT5r2.js → ModelManagerModals-BY5TK38_.js} +1 -1
  146. package/frontend/dist/js/ModelSelector-CoCS6MZ9.js +1 -0
  147. package/frontend/dist/js/NotesPage-BElIpXgA.js +3 -0
  148. package/frontend/dist/js/OptimizedSyntaxHighlighter-xgyE3dRA.js +1 -0
  149. package/frontend/dist/js/PersonasPage-P40jVbfU.js +13 -0
  150. package/frontend/dist/js/{PluginUsagePage-Ctoka6JZ.js → PluginUsagePage-CKUEPCJN.js} +1 -1
  151. package/frontend/dist/js/RichMessageContent-Bm2WaEGi.js +3 -0
  152. package/frontend/dist/js/SettingsModal-DxSGzx9A.js +19 -0
  153. package/frontend/dist/js/SystemPage-BT07dTMT.js +1 -0
  154. package/frontend/dist/js/UserManagementPage-B9Vz5cm3.js +1 -0
  155. package/frontend/dist/js/WorkPage-qoN_e_jK.js +6 -0
  156. package/frontend/dist/js/api-D7Ff5M2Q.js +14 -0
  157. package/frontend/dist/js/appStore-DmV5wqDz.js +2 -0
  158. package/frontend/dist/js/ar-YHHTVP8f.js +2 -0
  159. package/frontend/dist/js/artifactHtml-DDmfpcB0.js +41 -0
  160. package/frontend/dist/js/{authStore-DbqqrfZv.js → authStore-BYW8-kP6.js} +3 -3
  161. package/frontend/dist/js/bn-C8VTxBVl.js +2 -0
  162. package/frontend/dist/js/chatStore-D-NTlArO.js +3 -0
  163. package/frontend/dist/js/{config-8KdgjtEx.js → config-BqZ5304Q.js} +1 -1
  164. package/frontend/dist/js/cs-CCngB5fC.js +2 -0
  165. package/frontend/dist/js/da-CM2PP2ma.js +2 -0
  166. package/frontend/dist/js/de-BqVkD-dw.js +2 -0
  167. package/frontend/dist/js/es-BtWsWBjZ.js +2 -0
  168. package/frontend/dist/js/{estree-BU5-LV_1.js → estree-DPkpBuOU.js} +1 -1
  169. package/frontend/dist/js/{evaluationsApi-CwZJsgeG.js → evaluationsApi-Dnf2dTd-.js} +1 -1
  170. package/frontend/dist/js/fr-C68w9abT.js +2 -0
  171. package/frontend/dist/js/hi-DtBlcyXZ.js +2 -0
  172. package/frontend/dist/js/{html-DeoAy2bo.js → html-BpGUXG8E.js} +1 -1
  173. package/frontend/dist/js/id-BWzIu8tn.js +2 -0
  174. package/frontend/dist/js/is-yeFwu4dJ.js +2 -0
  175. package/frontend/dist/js/it-AxEMG8Jg.js +2 -0
  176. package/frontend/dist/js/ja-B-VyokB8.js +2 -0
  177. package/frontend/dist/js/ko-CvwzYr9k.js +2 -0
  178. package/frontend/dist/js/{markdown-DOLsYkBY.js → markdown-DCBRWJSK.js} +1 -1
  179. package/frontend/dist/js/{messageCodeStyles-DhVgizF-.js → messageCodeStyles-BQwf7sSz.js} +2 -2
  180. package/frontend/dist/js/ms-BhEwb4b7.js +2 -0
  181. package/frontend/dist/js/nl-Dq-QRx1L.js +2 -0
  182. package/frontend/dist/js/pl-BNEy8mQm.js +2 -0
  183. package/frontend/dist/js/pt-_3Jl3FdY.js +2 -0
  184. package/frontend/dist/js/ru-IhQiJ8ta.js +2 -0
  185. package/frontend/dist/js/{standalone-BO5pzI8_.js → standalone-BFrK0R2A.js} +1 -1
  186. package/frontend/dist/js/sv-DWunXUNz.js +2 -0
  187. package/frontend/dist/js/{syntax-highlight-DcR9Vhb7.js → syntax-highlight-P2zo9o06.js} +1 -1
  188. package/frontend/dist/js/th-DVnW2yyh.js +2 -0
  189. package/frontend/dist/js/tr-Do8CFmhR.js +2 -0
  190. package/frontend/dist/js/{typescript-6GJ8APmn.js → typescript-DYVyvmm_.js} +1 -1
  191. package/frontend/dist/js/ui-db9meqAB.js +2 -0
  192. package/frontend/dist/js/ui-vendor-C0DZ8-Cm.js +177 -0
  193. package/frontend/dist/js/uk-BNPKIZga.js +2 -0
  194. package/frontend/dist/js/vi-CZMFo9je.js +2 -0
  195. package/frontend/dist/js/{workApi-BruWTlHM.js → workApi-CcprMH_1.js} +2 -2
  196. package/frontend/dist/js/zh-Pg0881v0.js +2 -0
  197. package/frontend/dist/manifest.webmanifest +32 -0
  198. package/frontend/dist/sw.js +125 -0
  199. package/package.json +2 -2
  200. package/frontend/dist/assets/index-BPsH9FII.js +0 -80
  201. package/frontend/dist/assets/index-BtXF0Oxa.css +0 -1
  202. package/frontend/dist/js/ArtifactContainer-CIoFoMv8.js +0 -1
  203. package/frontend/dist/js/ArtifactSandboxFrame-REazyIrx.js +0 -151
  204. package/frontend/dist/js/ArtifactSlideOutPanel-A-i94ghF.js +0 -1
  205. package/frontend/dist/js/AutomationsPage-Dow_lbIf.js +0 -1
  206. package/frontend/dist/js/CalendarPage-DLjasZOd.js +0 -1
  207. package/frontend/dist/js/ChannelsPage-C8hvTD7J.js +0 -1
  208. package/frontend/dist/js/ChatPage-BAgBHUES.js +0 -16
  209. package/frontend/dist/js/FirstTimeSetup-BxJapNul.js +0 -1
  210. package/frontend/dist/js/GalleryPage-DHz9DkK7.js +0 -1
  211. package/frontend/dist/js/LibreClawPage-BDzDILjY.js +0 -1
  212. package/frontend/dist/js/ModelSelector-ol8mK2ja.js +0 -1
  213. package/frontend/dist/js/NotesPage-DzHEx2O4.js +0 -3
  214. package/frontend/dist/js/OptimizedSyntaxHighlighter-CZNPwN0i.js +0 -1
  215. package/frontend/dist/js/PersonasPage-M_WKH2a9.js +0 -13
  216. package/frontend/dist/js/RichMessageContent-BqgafH4p.js +0 -3
  217. package/frontend/dist/js/SettingsModal-R9EDadAV.js +0 -19
  218. package/frontend/dist/js/SystemPage-aOkrSuY7.js +0 -1
  219. package/frontend/dist/js/UserManagementPage-BOuaX3ay.js +0 -1
  220. package/frontend/dist/js/WorkPage-DxZISerQ.js +0 -6
  221. package/frontend/dist/js/api-6bSMtSNh.js +0 -14
  222. package/frontend/dist/js/appStore-CdObhQBb.js +0 -2
  223. package/frontend/dist/js/ar-DT_VLBO3.js +0 -2
  224. package/frontend/dist/js/bn-BrvEqhGA.js +0 -2
  225. package/frontend/dist/js/chatStore-DbZPJNsu.js +0 -3
  226. package/frontend/dist/js/cs-BthnM_YI.js +0 -2
  227. package/frontend/dist/js/da-DCth-6_j.js +0 -2
  228. package/frontend/dist/js/de-BBWt0gJ_.js +0 -2
  229. package/frontend/dist/js/es-DuslOPqM.js +0 -2
  230. package/frontend/dist/js/fr-DZAeg46S.js +0 -2
  231. package/frontend/dist/js/hi-ijDSiY77.js +0 -2
  232. package/frontend/dist/js/id-BS6qS0oq.js +0 -2
  233. package/frontend/dist/js/is-CO2PMDte.js +0 -2
  234. package/frontend/dist/js/it-ChhxT4hs.js +0 -2
  235. package/frontend/dist/js/ja-cyeqUeJN.js +0 -2
  236. package/frontend/dist/js/ko-CfqHTLXj.js +0 -2
  237. package/frontend/dist/js/ms-DZ5pACe1.js +0 -2
  238. package/frontend/dist/js/nl-BsRsnOVp.js +0 -2
  239. package/frontend/dist/js/pl-DXSTAW4M.js +0 -2
  240. package/frontend/dist/js/pt-DmDx0JxB.js +0 -2
  241. package/frontend/dist/js/ru-d2g8EWfY.js +0 -2
  242. package/frontend/dist/js/sv-CIhYUTVQ.js +0 -2
  243. package/frontend/dist/js/th-B3wSxanB.js +0 -2
  244. package/frontend/dist/js/tr-R4UGgPOY.js +0 -2
  245. package/frontend/dist/js/ui-CV0LYmkM.js +0 -2
  246. package/frontend/dist/js/ui-vendor-CWjIBW-z.js +0 -177
  247. package/frontend/dist/js/uk-BzUF4Vkt.js +0 -2
  248. package/frontend/dist/js/vi-CKc6Fg4h.js +0 -2
  249. package/frontend/dist/js/zh-CXL-kDe8.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"domainJobHandlers.js","sourceRoot":"","sources":["../../../src/platform/jobs/domainJobHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domainJobHandlers.js","sourceRoot":"","sources":["../../../src/platform/jobs/domainJobHandlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/routes/auth.ts"],"names":[],"mappings":"AAgEA,QAAA,MAAM,MAAM,4CAAmB,CAAC;eAwgCjB,MAAM"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/routes/auth.ts"],"names":[],"mappings":"AAwFA,QAAA,MAAM,MAAM,4CAAmB,CAAC;eAqgDjB,MAAM"}
@@ -31,6 +31,9 @@ import { findSessionById, listSessionsForUser, revokeAllAuthSessions, revokeAuth
31
31
  import { createApiToken, findTokenById, isApiTokenScope, listTokensForUser, revokeApiToken, toPublicToken, } from '../services/apiTokenService.js';
32
32
  import { hashClientIp, recordAuditEvent, } from '../services/securityAuditService.js';
33
33
  import { OidcError, oidcOAuthService } from '../services/simpleOidcOAuth.js';
34
+ import { MfaError, activateTotp, beginTotpEnrollment, consumeMfaChallenge, disableTotp, getMfaRequiredMode, getMfaStatus, mfaRequiredModeLockedByEnv, peekMfaChallenge, regenerateRecoveryCodes, setMfaRequiredMode, verifySecondFactor, } from '../services/mfaService.js';
35
+ import { PasskeyError, deletePasskey, listPasskeys, loginOptions as passkeyLoginOptions, registerPasskey, registrationOptions as passkeyRegistrationOptions, verifyPasskeyLogin, } from '../services/webauthnService.js';
36
+ import { userModel } from '../models/userModel.js';
34
37
  const router = express.Router();
35
38
  const logger = createLogger('auth-routes');
36
39
  // Fallback frontend URL for OAuth redirects
@@ -66,6 +69,22 @@ const signupRateLimiter = coordinatedRateLimit({
66
69
  limit: 5,
67
70
  message: 'Too many authentication attempts, please try again later',
68
71
  });
72
+ // Second-factor attempts get their own strict bucket: a challenge token is
73
+ // only minted after a correct password, so this budget covers typos without
74
+ // permitting code guessing.
75
+ const mfaRateLimiter = coordinatedRateLimit({
76
+ keyPrefix: 'security.mfa',
77
+ windowMs: 15 * 60 * 1000,
78
+ limit: 10,
79
+ message: 'Too many verification attempts, please try again later',
80
+ });
81
+ // Passkey ceremonies (options + assertions) for anonymous sign-in.
82
+ const passkeyRateLimiter = coordinatedRateLimit({
83
+ keyPrefix: 'security.passkey',
84
+ windowMs: 15 * 60 * 1000,
85
+ limit: 30,
86
+ message: 'Too many passkey attempts, please try again later',
87
+ });
69
88
  // Rate limiter for general auth routes. This bucket also serves the session
70
89
  // and API-token management endpoints, so it is sized to never starve an
71
90
  // interactive user; the credential endpoints keep their own strict
@@ -190,6 +209,20 @@ router.post('/login', loginRateLimiter, async (req, res) => {
190
209
  });
191
210
  return;
192
211
  }
212
+ if (result.status === 'mfa') {
213
+ // The password checked out, but this is not a session yet. Only the
214
+ // challenge leaves the server; account details wait for the second
215
+ // factor.
216
+ res.json({
217
+ success: true,
218
+ data: {
219
+ mfaRequired: true,
220
+ requirement: result.requirement,
221
+ challengeToken: result.challengeToken,
222
+ },
223
+ });
224
+ return;
225
+ }
193
226
  const systemInfo = await authService.getSystemInfo();
194
227
  res.json({
195
228
  success: true,
@@ -208,6 +241,389 @@ router.post('/login', loginRateLimiter, async (req, res) => {
208
241
  });
209
242
  }
210
243
  });
244
+ /** Finish a sign-in: issue the revocable session and the standard payload. */
245
+ const completeSignIn = async (req, res, userId, kind) => {
246
+ const user = await userModel.getUserById(userId);
247
+ if (!user || user.status !== 'active') {
248
+ res.status(403).json({
249
+ success: false,
250
+ message: 'This account is not active',
251
+ });
252
+ return;
253
+ }
254
+ const token = await authService.issueSession(user, {
255
+ kind,
256
+ ip: getClientIp(req),
257
+ userAgent: req.headers['user-agent'],
258
+ });
259
+ res.json({
260
+ success: true,
261
+ data: { user, token, systemInfo: await authService.getSystemInfo() },
262
+ });
263
+ };
264
+ const handleMfaFailure = (res, error, fallback) => {
265
+ if (error instanceof MfaError || error instanceof PasskeyError) {
266
+ res
267
+ .status(error.statusCode)
268
+ .json({ success: false, message: error.message });
269
+ return;
270
+ }
271
+ logger.error('MFA endpoint error:', error);
272
+ res.status(500).json({ success: false, message: fallback });
273
+ };
274
+ /**
275
+ * Complete a password sign-in with a TOTP or recovery code.
276
+ */
277
+ router.post('/mfa/verify', mfaRateLimiter, async (req, res) => {
278
+ try {
279
+ const { challengeToken, code } = req.body ?? {};
280
+ if (typeof challengeToken !== 'string' || typeof code !== 'string') {
281
+ res.status(400).json({
282
+ success: false,
283
+ message: 'A challenge token and code are required',
284
+ });
285
+ return;
286
+ }
287
+ const challenge = peekMfaChallenge(challengeToken, 'mfa-verify');
288
+ const { verified, method } = await verifySecondFactor(challenge.userId, code);
289
+ if (!verified) {
290
+ void recordAuditEvent({
291
+ action: 'auth.mfa.verify',
292
+ result: 'failure',
293
+ actorUserId: challenge.userId,
294
+ ipHash: hashClientIp(getClientIp(req)),
295
+ });
296
+ res
297
+ .status(401)
298
+ .json({ success: false, message: 'That code is not valid' });
299
+ return;
300
+ }
301
+ if (!(await consumeMfaChallenge(challenge.jti))) {
302
+ res.status(401).json({
303
+ success: false,
304
+ message: 'This sign-in challenge was already used',
305
+ });
306
+ return;
307
+ }
308
+ void recordAuditEvent({
309
+ action: 'auth.mfa.verify',
310
+ result: 'success',
311
+ actorUserId: challenge.userId,
312
+ ipHash: hashClientIp(getClientIp(req)),
313
+ details: { method },
314
+ });
315
+ await completeSignIn(req, res, challenge.userId, `password+${method}`);
316
+ }
317
+ catch (error) {
318
+ handleMfaFailure(res, error, 'Verification failed');
319
+ }
320
+ });
321
+ /**
322
+ * Policy-forced enrollment during sign-in: mint the TOTP secret for a
323
+ * pending challenge without an authenticated session.
324
+ */
325
+ router.post('/mfa/enroll-challenge', mfaRateLimiter, async (req, res) => {
326
+ try {
327
+ const { challengeToken } = req.body ?? {};
328
+ if (typeof challengeToken !== 'string') {
329
+ res
330
+ .status(400)
331
+ .json({ success: false, message: 'A challenge token is required' });
332
+ return;
333
+ }
334
+ const challenge = peekMfaChallenge(challengeToken, 'mfa-enroll');
335
+ const user = await userModel.getUserById(challenge.userId);
336
+ if (!user || user.status !== 'active') {
337
+ res
338
+ .status(403)
339
+ .json({ success: false, message: 'This account is not active' });
340
+ return;
341
+ }
342
+ const enrollment = await beginTotpEnrollment(user.id, user.username);
343
+ void recordAuditEvent({
344
+ action: 'auth.mfa.enroll',
345
+ result: 'success',
346
+ actorUserId: user.id,
347
+ details: { forced: true },
348
+ });
349
+ res.json({ success: true, data: enrollment });
350
+ }
351
+ catch (error) {
352
+ handleMfaFailure(res, error, 'Enrollment failed');
353
+ }
354
+ });
355
+ /**
356
+ * Policy-forced enrollment during sign-in: confirm the first code, receive
357
+ * recovery codes, and finish the sign-in in one step.
358
+ */
359
+ router.post('/mfa/activate-challenge', mfaRateLimiter, async (req, res) => {
360
+ try {
361
+ const { challengeToken, code } = req.body ?? {};
362
+ if (typeof challengeToken !== 'string' || typeof code !== 'string') {
363
+ res.status(400).json({
364
+ success: false,
365
+ message: 'A challenge token and code are required',
366
+ });
367
+ return;
368
+ }
369
+ const challenge = peekMfaChallenge(challengeToken, 'mfa-enroll');
370
+ const recoveryCodes = await activateTotp(challenge.userId, code);
371
+ if (!(await consumeMfaChallenge(challenge.jti))) {
372
+ res.status(401).json({
373
+ success: false,
374
+ message: 'This sign-in challenge was already used',
375
+ });
376
+ return;
377
+ }
378
+ void recordAuditEvent({
379
+ action: 'auth.mfa.activate',
380
+ result: 'success',
381
+ actorUserId: challenge.userId,
382
+ details: { forced: true },
383
+ });
384
+ const user = await userModel.getUserById(challenge.userId);
385
+ if (!user || user.status !== 'active') {
386
+ res
387
+ .status(403)
388
+ .json({ success: false, message: 'This account is not active' });
389
+ return;
390
+ }
391
+ const token = await authService.issueSession(user, {
392
+ kind: 'password+totp',
393
+ ip: getClientIp(req),
394
+ userAgent: req.headers['user-agent'],
395
+ });
396
+ res.json({
397
+ success: true,
398
+ data: {
399
+ user,
400
+ token,
401
+ systemInfo: await authService.getSystemInfo(),
402
+ recoveryCodes,
403
+ },
404
+ });
405
+ }
406
+ catch (error) {
407
+ handleMfaFailure(res, error, 'Enrollment failed');
408
+ }
409
+ });
410
+ /** Second-factor status for the signed-in account. */
411
+ router.get('/mfa', generalAuthRateLimiter, authenticate, async (req, res) => {
412
+ try {
413
+ const [status, passkeys] = await Promise.all([
414
+ getMfaStatus(req.user.userId),
415
+ listPasskeys(req.user.userId),
416
+ ]);
417
+ res.json({ success: true, data: { ...status, passkeys } });
418
+ }
419
+ catch (error) {
420
+ handleMfaFailure(res, error, 'Failed to load MFA status');
421
+ }
422
+ });
423
+ /** Begin TOTP enrollment from settings. */
424
+ router.post('/mfa/enroll', generalAuthRateLimiter, authenticate, async (req, res) => {
425
+ try {
426
+ const enrollment = await beginTotpEnrollment(req.user.userId, req.user.username);
427
+ void recordAuditEvent({
428
+ action: 'auth.mfa.enroll',
429
+ result: 'success',
430
+ actorUserId: req.user.userId,
431
+ });
432
+ res.json({ success: true, data: enrollment });
433
+ }
434
+ catch (error) {
435
+ handleMfaFailure(res, error, 'Enrollment failed');
436
+ }
437
+ });
438
+ /** Confirm enrollment with a first valid code; returns the recovery codes. */
439
+ router.post('/mfa/activate', mfaRateLimiter, authenticate, async (req, res) => {
440
+ try {
441
+ const { code } = req.body ?? {};
442
+ if (typeof code !== 'string') {
443
+ res.status(400).json({ success: false, message: 'A code is required' });
444
+ return;
445
+ }
446
+ const recoveryCodes = await activateTotp(req.user.userId, code);
447
+ void recordAuditEvent({
448
+ action: 'auth.mfa.activate',
449
+ result: 'success',
450
+ actorUserId: req.user.userId,
451
+ });
452
+ res.json({ success: true, data: { recoveryCodes } });
453
+ }
454
+ catch (error) {
455
+ handleMfaFailure(res, error, 'Activation failed');
456
+ }
457
+ });
458
+ /** Regenerate recovery codes after re-proving the second factor. */
459
+ router.post('/mfa/recovery-codes', mfaRateLimiter, authenticate, async (req, res) => {
460
+ try {
461
+ const { code } = req.body ?? {};
462
+ if (typeof code !== 'string') {
463
+ res.status(400).json({ success: false, message: 'A code is required' });
464
+ return;
465
+ }
466
+ const recoveryCodes = await regenerateRecoveryCodes(req.user.userId, code);
467
+ void recordAuditEvent({
468
+ action: 'auth.mfa.recovery-codes',
469
+ result: 'success',
470
+ actorUserId: req.user.userId,
471
+ });
472
+ res.json({ success: true, data: { recoveryCodes } });
473
+ }
474
+ catch (error) {
475
+ handleMfaFailure(res, error, 'Failed to regenerate recovery codes');
476
+ }
477
+ });
478
+ /** Disable TOTP after re-proving the second factor. */
479
+ router.post('/mfa/disable', mfaRateLimiter, authenticate, async (req, res) => {
480
+ try {
481
+ const { code } = req.body ?? {};
482
+ if (typeof code !== 'string') {
483
+ res.status(400).json({ success: false, message: 'A code is required' });
484
+ return;
485
+ }
486
+ await disableTotp(req.user.userId, code);
487
+ void recordAuditEvent({
488
+ action: 'auth.mfa.disable',
489
+ result: 'success',
490
+ actorUserId: req.user.userId,
491
+ });
492
+ res.json({
493
+ success: true,
494
+ message: 'Two-factor authentication disabled',
495
+ });
496
+ }
497
+ catch (error) {
498
+ handleMfaFailure(res, error, 'Failed to disable two-factor authentication');
499
+ }
500
+ });
501
+ /** Instance step-up policy (admin): optional vs required for every account. */
502
+ router.get('/mfa/policy', generalAuthRateLimiter, authenticate, requireAdmin, async (_req, res) => {
503
+ res.json({
504
+ success: true,
505
+ data: {
506
+ mode: await getMfaRequiredMode(),
507
+ locked: mfaRequiredModeLockedByEnv(),
508
+ },
509
+ });
510
+ });
511
+ router.put('/mfa/policy', generalAuthRateLimiter, authenticate, requireAdmin, async (req, res) => {
512
+ try {
513
+ const { mode } = req.body ?? {};
514
+ if (mode !== 'optional' && mode !== 'required') {
515
+ res.status(400).json({
516
+ success: false,
517
+ message: "The MFA policy mode must be 'optional' or 'required'",
518
+ });
519
+ return;
520
+ }
521
+ await setMfaRequiredMode(mode);
522
+ void recordAuditEvent({
523
+ action: 'admin.mfa.policy',
524
+ result: 'success',
525
+ actorUserId: req.user.userId,
526
+ details: { mode },
527
+ });
528
+ res.json({ success: true, data: { mode, locked: false } });
529
+ }
530
+ catch (error) {
531
+ handleMfaFailure(res, error, 'Failed to update the MFA policy');
532
+ }
533
+ });
534
+ /** Passkey registration options for the signed-in account. */
535
+ router.post('/passkeys/register-options', generalAuthRateLimiter, authenticate, async (req, res) => {
536
+ try {
537
+ const options = await passkeyRegistrationOptions({ id: req.user.userId, username: req.user.username }, req.headers.host ?? '');
538
+ res.json({ success: true, data: options });
539
+ }
540
+ catch (error) {
541
+ handleMfaFailure(res, error, 'Failed to prepare passkey registration');
542
+ }
543
+ });
544
+ /** Register a new passkey for the signed-in account. */
545
+ router.post('/passkeys/register', generalAuthRateLimiter, authenticate, async (req, res) => {
546
+ try {
547
+ const passkey = await registerPasskey(req.user.userId, req.body ?? {}, req.headers.host ?? '');
548
+ void recordAuditEvent({
549
+ action: 'auth.passkey.register',
550
+ result: 'success',
551
+ actorUserId: req.user.userId,
552
+ targetType: 'passkey',
553
+ targetId: passkey.id,
554
+ });
555
+ res.json({ success: true, data: passkey });
556
+ }
557
+ catch (error) {
558
+ handleMfaFailure(res, error, 'Passkey registration failed');
559
+ }
560
+ });
561
+ /** List the signed-in account's passkeys. */
562
+ router.get('/passkeys', generalAuthRateLimiter, authenticate, async (req, res) => {
563
+ try {
564
+ res.json({ success: true, data: await listPasskeys(req.user.userId) });
565
+ }
566
+ catch (error) {
567
+ handleMfaFailure(res, error, 'Failed to list passkeys');
568
+ }
569
+ });
570
+ /** Remove one of the signed-in account's passkeys. */
571
+ router.delete('/passkeys/:id', generalAuthRateLimiter, authenticate, async (req, res) => {
572
+ try {
573
+ const passkeyId = String(req.params.id);
574
+ const removed = await deletePasskey(req.user.userId, passkeyId);
575
+ if (!removed) {
576
+ res.status(404).json({ success: false, message: 'Passkey not found' });
577
+ return;
578
+ }
579
+ void recordAuditEvent({
580
+ action: 'auth.passkey.remove',
581
+ result: 'success',
582
+ actorUserId: req.user.userId,
583
+ targetType: 'passkey',
584
+ targetId: passkeyId,
585
+ });
586
+ res.json({ success: true, message: 'Passkey removed' });
587
+ }
588
+ catch (error) {
589
+ handleMfaFailure(res, error, 'Failed to remove passkey');
590
+ }
591
+ });
592
+ /** Anonymous passkey sign-in: ceremony options. */
593
+ router.post('/passkeys/login-options', passkeyRateLimiter, async (req, res) => {
594
+ try {
595
+ const options = await passkeyLoginOptions(req.headers.host ?? '');
596
+ res.json({ success: true, data: options });
597
+ }
598
+ catch (error) {
599
+ handleMfaFailure(res, error, 'Failed to prepare passkey sign-in');
600
+ }
601
+ });
602
+ /** Anonymous passkey sign-in: verify the assertion and issue a session. */
603
+ router.post('/passkeys/login', passkeyRateLimiter, async (req, res) => {
604
+ try {
605
+ const { userId, passkeyId } = await verifyPasskeyLogin(req.body ?? {}, req.headers.host ?? '');
606
+ void recordAuditEvent({
607
+ action: 'auth.login',
608
+ result: 'success',
609
+ actorUserId: userId,
610
+ ipHash: hashClientIp(getClientIp(req)),
611
+ details: { method: 'passkey', passkeyId },
612
+ });
613
+ await completeSignIn(req, res, userId, 'passkey');
614
+ }
615
+ catch (error) {
616
+ if (error instanceof PasskeyError) {
617
+ void recordAuditEvent({
618
+ action: 'auth.login',
619
+ result: 'failure',
620
+ ipHash: hashClientIp(getClientIp(req)),
621
+ details: { method: 'passkey' },
622
+ });
623
+ }
624
+ handleMfaFailure(res, error, 'Passkey sign-in failed');
625
+ }
626
+ });
211
627
  /**
212
628
  * Logout endpoint
213
629
  */
@@ -538,7 +954,9 @@ router.post('/signup', signupRateLimiter, async (req, res) => {
538
954
  details: { status: result.status },
539
955
  });
540
956
  const systemInfo = await authService.getSystemInfo();
541
- if (result.status === 'pending') {
957
+ if (result.status !== 'authenticated') {
958
+ // Signup never produces an MFA challenge; any non-authenticated
959
+ // outcome here is a pending-approval account.
542
960
  res.status(202).json({
543
961
  success: true,
544
962
  data: {