@nauth-toolkit/core 0.1.14 → 0.1.18

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 (623) hide show
  1. package/dist/adapters/database-columns.d.ts +70 -0
  2. package/dist/adapters/database-columns.d.ts.map +1 -1
  3. package/dist/adapters/database-columns.js +76 -2
  4. package/dist/adapters/database-columns.js.map +1 -1
  5. package/dist/adapters/express.adapter.d.ts +66 -0
  6. package/dist/adapters/express.adapter.d.ts.map +1 -1
  7. package/dist/adapters/express.adapter.js +80 -0
  8. package/dist/adapters/express.adapter.js.map +1 -1
  9. package/dist/adapters/fastify.adapter.d.ts +42 -0
  10. package/dist/adapters/fastify.adapter.d.ts.map +1 -1
  11. package/dist/adapters/fastify.adapter.js +86 -0
  12. package/dist/adapters/fastify.adapter.js.map +1 -1
  13. package/dist/adapters/index.d.ts +5 -0
  14. package/dist/adapters/index.d.ts.map +1 -1
  15. package/dist/adapters/index.js +9 -0
  16. package/dist/adapters/index.js.map +1 -1
  17. package/dist/adapters/storage.factory.d.ts +107 -0
  18. package/dist/adapters/storage.factory.d.ts.map +1 -1
  19. package/dist/adapters/storage.factory.js +114 -0
  20. package/dist/adapters/storage.factory.js.map +1 -1
  21. package/dist/adapters.d.ts +8 -0
  22. package/dist/adapters.d.ts.map +1 -1
  23. package/dist/adapters.js +8 -0
  24. package/dist/adapters.js.map +1 -1
  25. package/dist/bootstrap.d.ts +82 -0
  26. package/dist/bootstrap.d.ts.map +1 -1
  27. package/dist/bootstrap.js +106 -0
  28. package/dist/bootstrap.js.map +1 -1
  29. package/dist/dto/admin-set-password.dto.d.ts +90 -0
  30. package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
  31. package/dist/dto/admin-set-password.dto.js +91 -0
  32. package/dist/dto/admin-set-password.dto.js.map +1 -1
  33. package/dist/dto/auth-challenge.dto.d.ts +170 -0
  34. package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
  35. package/dist/dto/auth-challenge.dto.js +170 -0
  36. package/dist/dto/auth-challenge.dto.js.map +1 -1
  37. package/dist/dto/auth-response.dto.d.ts +196 -0
  38. package/dist/dto/auth-response.dto.d.ts.map +1 -1
  39. package/dist/dto/auth-response.dto.js +149 -0
  40. package/dist/dto/auth-response.dto.js.map +1 -1
  41. package/dist/dto/challenge-response.dto.d.ts +155 -0
  42. package/dist/dto/challenge-response.dto.d.ts.map +1 -1
  43. package/dist/dto/challenge-response.dto.js +8 -0
  44. package/dist/dto/challenge-response.dto.js.map +1 -1
  45. package/dist/dto/change-password-request.dto.d.ts +35 -0
  46. package/dist/dto/change-password-request.dto.d.ts.map +1 -1
  47. package/dist/dto/change-password-request.dto.js +35 -0
  48. package/dist/dto/change-password-request.dto.js.map +1 -1
  49. package/dist/dto/change-password-response.dto.d.ts +25 -0
  50. package/dist/dto/change-password-response.dto.d.ts.map +1 -1
  51. package/dist/dto/change-password-response.dto.js +25 -0
  52. package/dist/dto/change-password-response.dto.js.map +1 -1
  53. package/dist/dto/change-password.dto.d.ts +45 -0
  54. package/dist/dto/change-password.dto.d.ts.map +1 -1
  55. package/dist/dto/change-password.dto.js +45 -0
  56. package/dist/dto/change-password.dto.js.map +1 -1
  57. package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
  58. package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
  59. package/dist/dto/confirm-forgot-password.dto.js +59 -0
  60. package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
  61. package/dist/dto/error-response.dto.d.ts +103 -0
  62. package/dist/dto/error-response.dto.d.ts.map +1 -1
  63. package/dist/dto/error-response.dto.js +103 -0
  64. package/dist/dto/error-response.dto.js.map +1 -1
  65. package/dist/dto/forgot-password.dto.d.ts +58 -0
  66. package/dist/dto/forgot-password.dto.d.ts.map +1 -1
  67. package/dist/dto/forgot-password.dto.js +58 -0
  68. package/dist/dto/forgot-password.dto.js.map +1 -1
  69. package/dist/dto/get-available-methods.dto.d.ts +37 -0
  70. package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
  71. package/dist/dto/get-available-methods.dto.js +37 -0
  72. package/dist/dto/get-available-methods.dto.js.map +1 -1
  73. package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
  74. package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
  75. package/dist/dto/get-challenge-data-response.dto.js +24 -0
  76. package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
  77. package/dist/dto/get-challenge-data.dto.d.ts +46 -0
  78. package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
  79. package/dist/dto/get-challenge-data.dto.js +46 -0
  80. package/dist/dto/get-challenge-data.dto.js.map +1 -1
  81. package/dist/dto/get-client-info.dto.d.ts +74 -0
  82. package/dist/dto/get-client-info.dto.d.ts.map +1 -1
  83. package/dist/dto/get-client-info.dto.js +74 -0
  84. package/dist/dto/get-client-info.dto.js.map +1 -1
  85. package/dist/dto/get-device-token-response.dto.d.ts +21 -0
  86. package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
  87. package/dist/dto/get-device-token-response.dto.js +21 -0
  88. package/dist/dto/get-device-token-response.dto.js.map +1 -1
  89. package/dist/dto/get-events-by-type.dto.d.ts +50 -0
  90. package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
  91. package/dist/dto/get-events-by-type.dto.js +50 -0
  92. package/dist/dto/get-events-by-type.dto.js.map +1 -1
  93. package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
  94. package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
  95. package/dist/dto/get-ip-address-response.dto.js +20 -0
  96. package/dist/dto/get-ip-address-response.dto.js.map +1 -1
  97. package/dist/dto/get-mfa-status.dto.d.ts +59 -0
  98. package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
  99. package/dist/dto/get-mfa-status.dto.js +59 -0
  100. package/dist/dto/get-mfa-status.dto.js.map +1 -1
  101. package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
  102. package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
  103. package/dist/dto/get-risk-assessment-history.dto.js +28 -0
  104. package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
  105. package/dist/dto/get-session-id-response.dto.d.ts +21 -0
  106. package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
  107. package/dist/dto/get-session-id-response.dto.js +21 -0
  108. package/dist/dto/get-session-id-response.dto.js.map +1 -1
  109. package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
  110. package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
  111. package/dist/dto/get-setup-data-response.dto.js +27 -0
  112. package/dist/dto/get-setup-data-response.dto.js.map +1 -1
  113. package/dist/dto/get-setup-data.dto.d.ts +51 -0
  114. package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
  115. package/dist/dto/get-setup-data.dto.js +51 -0
  116. package/dist/dto/get-setup-data.dto.js.map +1 -1
  117. package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
  118. package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
  119. package/dist/dto/get-suspicious-activity.dto.js +31 -0
  120. package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
  121. package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
  122. package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
  123. package/dist/dto/get-user-agent-response.dto.js +19 -0
  124. package/dist/dto/get-user-agent-response.dto.js.map +1 -1
  125. package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
  126. package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
  127. package/dist/dto/get-user-auth-history.dto.js +64 -0
  128. package/dist/dto/get-user-auth-history.dto.js.map +1 -1
  129. package/dist/dto/get-user-by-email.dto.d.ts +42 -0
  130. package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
  131. package/dist/dto/get-user-by-email.dto.js +42 -0
  132. package/dist/dto/get-user-by-email.dto.js.map +1 -1
  133. package/dist/dto/get-user-by-id.dto.d.ts +32 -0
  134. package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
  135. package/dist/dto/get-user-by-id.dto.js +32 -0
  136. package/dist/dto/get-user-by-id.dto.js.map +1 -1
  137. package/dist/dto/get-user-devices.dto.d.ts +34 -0
  138. package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
  139. package/dist/dto/get-user-devices.dto.js +34 -0
  140. package/dist/dto/get-user-devices.dto.js.map +1 -1
  141. package/dist/dto/get-user-response.dto.d.ts +14 -0
  142. package/dist/dto/get-user-response.dto.d.ts.map +1 -1
  143. package/dist/dto/get-user-response.dto.js +15 -0
  144. package/dist/dto/get-user-response.dto.js.map +1 -1
  145. package/dist/dto/has-provider.dto.d.ts +33 -0
  146. package/dist/dto/has-provider.dto.d.ts.map +1 -1
  147. package/dist/dto/has-provider.dto.js +33 -0
  148. package/dist/dto/has-provider.dto.js.map +1 -1
  149. package/dist/dto/index.js +5 -0
  150. package/dist/dto/index.js.map +1 -1
  151. package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
  152. package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
  153. package/dist/dto/is-trusted-device-response.dto.js +28 -0
  154. package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
  155. package/dist/dto/list-providers-response.dto.d.ts +19 -0
  156. package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
  157. package/dist/dto/list-providers-response.dto.js +19 -0
  158. package/dist/dto/list-providers-response.dto.js.map +1 -1
  159. package/dist/dto/login.dto.d.ts +48 -0
  160. package/dist/dto/login.dto.d.ts.map +1 -1
  161. package/dist/dto/login.dto.js +50 -1
  162. package/dist/dto/login.dto.js.map +1 -1
  163. package/dist/dto/logout-all-response.dto.d.ts +20 -0
  164. package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
  165. package/dist/dto/logout-all-response.dto.js +20 -0
  166. package/dist/dto/logout-all-response.dto.js.map +1 -1
  167. package/dist/dto/logout-all.dto.d.ts +42 -0
  168. package/dist/dto/logout-all.dto.d.ts.map +1 -1
  169. package/dist/dto/logout-all.dto.js +42 -0
  170. package/dist/dto/logout-all.dto.js.map +1 -1
  171. package/dist/dto/logout-response.dto.d.ts +21 -0
  172. package/dist/dto/logout-response.dto.d.ts.map +1 -1
  173. package/dist/dto/logout-response.dto.js +21 -0
  174. package/dist/dto/logout-response.dto.js.map +1 -1
  175. package/dist/dto/logout.dto.d.ts +45 -0
  176. package/dist/dto/logout.dto.d.ts.map +1 -1
  177. package/dist/dto/logout.dto.js +45 -0
  178. package/dist/dto/logout.dto.js.map +1 -1
  179. package/dist/dto/refresh-token.dto.d.ts +28 -0
  180. package/dist/dto/refresh-token.dto.d.ts.map +1 -1
  181. package/dist/dto/refresh-token.dto.js +28 -0
  182. package/dist/dto/refresh-token.dto.js.map +1 -1
  183. package/dist/dto/remove-devices.dto.d.ts +51 -0
  184. package/dist/dto/remove-devices.dto.d.ts.map +1 -1
  185. package/dist/dto/remove-devices.dto.js +51 -0
  186. package/dist/dto/remove-devices.dto.js.map +1 -1
  187. package/dist/dto/resend-code-response.dto.d.ts +28 -0
  188. package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
  189. package/dist/dto/resend-code-response.dto.js +28 -0
  190. package/dist/dto/resend-code-response.dto.js.map +1 -1
  191. package/dist/dto/resend-code.dto.d.ts +37 -0
  192. package/dist/dto/resend-code.dto.d.ts.map +1 -1
  193. package/dist/dto/resend-code.dto.js +37 -0
  194. package/dist/dto/resend-code.dto.js.map +1 -1
  195. package/dist/dto/reset-password.dto.d.ts +74 -0
  196. package/dist/dto/reset-password.dto.d.ts.map +1 -1
  197. package/dist/dto/reset-password.dto.js +76 -1
  198. package/dist/dto/reset-password.dto.js.map +1 -1
  199. package/dist/dto/respond-challenge.dto.d.ts +147 -0
  200. package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
  201. package/dist/dto/respond-challenge.dto.js +162 -0
  202. package/dist/dto/respond-challenge.dto.js.map +1 -1
  203. package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
  204. package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
  205. package/dist/dto/set-mfa-exemption.dto.js +65 -0
  206. package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
  207. package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
  208. package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
  209. package/dist/dto/set-must-change-password-response.dto.js +23 -0
  210. package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
  211. package/dist/dto/set-must-change-password.dto.d.ts +32 -0
  212. package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
  213. package/dist/dto/set-must-change-password.dto.js +32 -0
  214. package/dist/dto/set-must-change-password.dto.js.map +1 -1
  215. package/dist/dto/set-preferred-method.dto.d.ts +48 -0
  216. package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
  217. package/dist/dto/set-preferred-method.dto.js +48 -0
  218. package/dist/dto/set-preferred-method.dto.js.map +1 -1
  219. package/dist/dto/setup-mfa.dto.d.ts +62 -0
  220. package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
  221. package/dist/dto/setup-mfa.dto.js +62 -0
  222. package/dist/dto/setup-mfa.dto.js.map +1 -1
  223. package/dist/dto/signup.dto.d.ts +92 -0
  224. package/dist/dto/signup.dto.d.ts.map +1 -1
  225. package/dist/dto/signup.dto.js +93 -0
  226. package/dist/dto/signup.dto.js.map +1 -1
  227. package/dist/dto/social-auth.dto.d.ts +234 -0
  228. package/dist/dto/social-auth.dto.d.ts.map +1 -1
  229. package/dist/dto/social-auth.dto.js +234 -0
  230. package/dist/dto/social-auth.dto.js.map +1 -1
  231. package/dist/dto/trust-device-response.dto.d.ts +26 -0
  232. package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
  233. package/dist/dto/trust-device-response.dto.js +26 -0
  234. package/dist/dto/trust-device-response.dto.js.map +1 -1
  235. package/dist/dto/trust-device.dto.d.ts +9 -0
  236. package/dist/dto/trust-device.dto.d.ts.map +1 -1
  237. package/dist/dto/trust-device.dto.js +9 -0
  238. package/dist/dto/trust-device.dto.js.map +1 -1
  239. package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
  240. package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
  241. package/dist/dto/update-user-attributes-request.dto.js +36 -0
  242. package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
  243. package/dist/dto/user-response.dto.d.ts +81 -0
  244. package/dist/dto/user-response.dto.d.ts.map +1 -1
  245. package/dist/dto/user-response.dto.js +84 -2
  246. package/dist/dto/user-response.dto.js.map +1 -1
  247. package/dist/dto/user-update.dto.d.ts +132 -0
  248. package/dist/dto/user-update.dto.d.ts.map +1 -1
  249. package/dist/dto/user-update.dto.js +133 -0
  250. package/dist/dto/user-update.dto.js.map +1 -1
  251. package/dist/dto/verify-email.dto.d.ts +171 -0
  252. package/dist/dto/verify-email.dto.d.ts.map +1 -1
  253. package/dist/dto/verify-email.dto.js +173 -1
  254. package/dist/dto/verify-email.dto.js.map +1 -1
  255. package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
  256. package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
  257. package/dist/dto/verify-mfa-code.dto.js +65 -0
  258. package/dist/dto/verify-mfa-code.dto.js.map +1 -1
  259. package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
  260. package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
  261. package/dist/dto/verify-phone-by-sub.dto.js +49 -0
  262. package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
  263. package/dist/dto/verify-phone.dto.d.ts +139 -0
  264. package/dist/dto/verify-phone.dto.d.ts.map +1 -1
  265. package/dist/dto/verify-phone.dto.js +142 -1
  266. package/dist/dto/verify-phone.dto.js.map +1 -1
  267. package/dist/dto.d.ts +10 -0
  268. package/dist/dto.d.ts.map +1 -1
  269. package/dist/dto.js +10 -0
  270. package/dist/dto.js.map +1 -1
  271. package/dist/entities/auth-audit.entity.d.ts +159 -0
  272. package/dist/entities/auth-audit.entity.d.ts.map +1 -1
  273. package/dist/entities/auth-audit.entity.js +166 -0
  274. package/dist/entities/auth-audit.entity.js.map +1 -1
  275. package/dist/entities/challenge-session.entity.d.ts +87 -0
  276. package/dist/entities/challenge-session.entity.d.ts.map +1 -1
  277. package/dist/entities/challenge-session.entity.js +87 -0
  278. package/dist/entities/challenge-session.entity.js.map +1 -1
  279. package/dist/entities/index.d.ts +18 -0
  280. package/dist/entities/index.d.ts.map +1 -1
  281. package/dist/entities/index.js +18 -0
  282. package/dist/entities/index.js.map +1 -1
  283. package/dist/entities/login-attempt.entity.d.ts +43 -0
  284. package/dist/entities/login-attempt.entity.d.ts.map +1 -1
  285. package/dist/entities/login-attempt.entity.js +43 -0
  286. package/dist/entities/login-attempt.entity.js.map +1 -1
  287. package/dist/entities/mfa-device.entity.d.ts +112 -0
  288. package/dist/entities/mfa-device.entity.d.ts.map +1 -1
  289. package/dist/entities/mfa-device.entity.js +112 -0
  290. package/dist/entities/mfa-device.entity.js.map +1 -1
  291. package/dist/entities/rate-limit.entity.d.ts +31 -0
  292. package/dist/entities/rate-limit.entity.d.ts.map +1 -1
  293. package/dist/entities/rate-limit.entity.js +31 -0
  294. package/dist/entities/rate-limit.entity.js.map +1 -1
  295. package/dist/entities/session.entity.d.ts +121 -0
  296. package/dist/entities/session.entity.d.ts.map +1 -1
  297. package/dist/entities/session.entity.js +121 -0
  298. package/dist/entities/session.entity.js.map +1 -1
  299. package/dist/entities/social-account.entity.d.ts +75 -0
  300. package/dist/entities/social-account.entity.d.ts.map +1 -1
  301. package/dist/entities/social-account.entity.js +75 -0
  302. package/dist/entities/social-account.entity.js.map +1 -1
  303. package/dist/entities/storage-lock.entity.d.ts +28 -0
  304. package/dist/entities/storage-lock.entity.d.ts.map +1 -1
  305. package/dist/entities/storage-lock.entity.js +28 -0
  306. package/dist/entities/storage-lock.entity.js.map +1 -1
  307. package/dist/entities/trusted-device.entity.d.ts +83 -0
  308. package/dist/entities/trusted-device.entity.d.ts.map +1 -1
  309. package/dist/entities/trusted-device.entity.js +83 -0
  310. package/dist/entities/trusted-device.entity.js.map +1 -1
  311. package/dist/entities/user.entity.d.ts +166 -0
  312. package/dist/entities/user.entity.d.ts.map +1 -1
  313. package/dist/entities/user.entity.js +166 -0
  314. package/dist/entities/user.entity.js.map +1 -1
  315. package/dist/entities/verification-token.entity.d.ts +102 -0
  316. package/dist/entities/verification-token.entity.d.ts.map +1 -1
  317. package/dist/entities/verification-token.entity.js +102 -0
  318. package/dist/entities/verification-token.entity.js.map +1 -1
  319. package/dist/entities.d.ts +8 -0
  320. package/dist/entities.d.ts.map +1 -1
  321. package/dist/entities.js +8 -0
  322. package/dist/entities.js.map +1 -1
  323. package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
  324. package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
  325. package/dist/enums/auth-audit-event-type.enum.js +244 -0
  326. package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
  327. package/dist/enums/error-codes.enum.d.ts +296 -0
  328. package/dist/enums/error-codes.enum.d.ts.map +1 -1
  329. package/dist/enums/error-codes.enum.js +332 -0
  330. package/dist/enums/error-codes.enum.js.map +1 -1
  331. package/dist/enums/mfa-method.enum.d.ts +74 -0
  332. package/dist/enums/mfa-method.enum.d.ts.map +1 -1
  333. package/dist/enums/mfa-method.enum.js +64 -0
  334. package/dist/enums/mfa-method.enum.js.map +1 -1
  335. package/dist/enums/risk-factor.enum.d.ts +91 -0
  336. package/dist/enums/risk-factor.enum.d.ts.map +1 -1
  337. package/dist/enums/risk-factor.enum.js +97 -0
  338. package/dist/enums/risk-factor.enum.js.map +1 -1
  339. package/dist/exceptions/nauth.exception.d.ts +149 -0
  340. package/dist/exceptions/nauth.exception.d.ts.map +1 -1
  341. package/dist/exceptions/nauth.exception.js +159 -0
  342. package/dist/exceptions/nauth.exception.js.map +1 -1
  343. package/dist/handlers/auth.handler.d.ts +32 -0
  344. package/dist/handlers/auth.handler.d.ts.map +1 -1
  345. package/dist/handlers/auth.handler.js +47 -1
  346. package/dist/handlers/auth.handler.js.map +1 -1
  347. package/dist/handlers/client-info.handler.d.ts +25 -0
  348. package/dist/handlers/client-info.handler.d.ts.map +1 -1
  349. package/dist/handlers/client-info.handler.js +36 -2
  350. package/dist/handlers/client-info.handler.js.map +1 -1
  351. package/dist/handlers/csrf.handler.d.ts +32 -0
  352. package/dist/handlers/csrf.handler.d.ts.map +1 -1
  353. package/dist/handlers/csrf.handler.js +49 -1
  354. package/dist/handlers/csrf.handler.js.map +1 -1
  355. package/dist/handlers/token-delivery.handler.d.ts +16 -0
  356. package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
  357. package/dist/handlers/token-delivery.handler.js +22 -1
  358. package/dist/handlers/token-delivery.handler.js.map +1 -1
  359. package/dist/index.d.ts +34 -0
  360. package/dist/index.d.ts.map +1 -1
  361. package/dist/index.js +67 -0
  362. package/dist/index.js.map +1 -1
  363. package/dist/interfaces/client-info.interface.d.ts +58 -0
  364. package/dist/interfaces/client-info.interface.d.ts.map +1 -1
  365. package/dist/interfaces/config.interface.d.ts +1780 -0
  366. package/dist/interfaces/config.interface.d.ts.map +1 -1
  367. package/dist/interfaces/config.interface.js +16 -0
  368. package/dist/interfaces/config.interface.js.map +1 -1
  369. package/dist/interfaces/entities.interface.d.ts +48 -0
  370. package/dist/interfaces/entities.interface.d.ts.map +1 -1
  371. package/dist/interfaces/entities.interface.js +8 -0
  372. package/dist/interfaces/entities.interface.js.map +1 -1
  373. package/dist/interfaces/index.js +5 -0
  374. package/dist/interfaces/index.js.map +1 -1
  375. package/dist/interfaces/logger.interface.d.ts +213 -0
  376. package/dist/interfaces/logger.interface.d.ts.map +1 -1
  377. package/dist/interfaces/logger.interface.js +35 -0
  378. package/dist/interfaces/logger.interface.js.map +1 -1
  379. package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
  380. package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
  381. package/dist/interfaces/oauth.interface.d.ts +110 -0
  382. package/dist/interfaces/oauth.interface.d.ts.map +1 -1
  383. package/dist/interfaces/provider.interface.d.ts +83 -0
  384. package/dist/interfaces/provider.interface.d.ts.map +1 -1
  385. package/dist/interfaces/sms-template.interface.d.ts +246 -0
  386. package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
  387. package/dist/interfaces/sms-template.interface.js +26 -0
  388. package/dist/interfaces/sms-template.interface.js.map +1 -1
  389. package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
  390. package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
  391. package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
  392. package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
  393. package/dist/interfaces/template.interface.d.ts +351 -0
  394. package/dist/interfaces/template.interface.d.ts.map +1 -1
  395. package/dist/interfaces/template.interface.js +13 -0
  396. package/dist/interfaces/template.interface.js.map +1 -1
  397. package/dist/interfaces/token-verifier.interface.d.ts +101 -0
  398. package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
  399. package/dist/interfaces.d.ts +8 -0
  400. package/dist/interfaces.d.ts.map +1 -1
  401. package/dist/interfaces.js +8 -0
  402. package/dist/interfaces.js.map +1 -1
  403. package/dist/internal.d.ts +120 -0
  404. package/dist/internal.d.ts.map +1 -1
  405. package/dist/internal.js +138 -0
  406. package/dist/internal.js.map +1 -1
  407. package/dist/platform/interfaces.d.ts +187 -0
  408. package/dist/platform/interfaces.d.ts.map +1 -1
  409. package/dist/platform/interfaces.js +11 -0
  410. package/dist/platform/interfaces.js.map +1 -1
  411. package/dist/schemas/auth-config.schema.d.ts +62 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +189 -9
  414. package/dist/schemas/auth-config.schema.js.map +1 -1
  415. package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
  416. package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
  417. package/dist/services/adaptive-mfa-decision.service.js +151 -5
  418. package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
  419. package/dist/services/auth-audit.service.d.ts +195 -0
  420. package/dist/services/auth-audit.service.d.ts.map +1 -1
  421. package/dist/services/auth-audit.service.js +228 -1
  422. package/dist/services/auth-audit.service.js.map +1 -1
  423. package/dist/services/auth-challenge-helper.service.d.ts +144 -1
  424. package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
  425. package/dist/services/auth-challenge-helper.service.js +295 -16
  426. package/dist/services/auth-challenge-helper.service.js.map +1 -1
  427. package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
  428. package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
  429. package/dist/services/auth-flow-context-builder.service.js +184 -5
  430. package/dist/services/auth-flow-context-builder.service.js.map +1 -1
  431. package/dist/services/auth-flow-rules.d.ts +136 -0
  432. package/dist/services/auth-flow-rules.d.ts.map +1 -1
  433. package/dist/services/auth-flow-rules.js +137 -0
  434. package/dist/services/auth-flow-rules.js.map +1 -1
  435. package/dist/services/auth-flow-state-definitions.d.ts +40 -0
  436. package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
  437. package/dist/services/auth-flow-state-definitions.js +98 -0
  438. package/dist/services/auth-flow-state-definitions.js.map +1 -1
  439. package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
  440. package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
  441. package/dist/services/auth-flow-state-machine.service.js +102 -0
  442. package/dist/services/auth-flow-state-machine.service.js.map +1 -1
  443. package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
  444. package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
  445. package/dist/services/auth-flow-state-machine.types.js +47 -0
  446. package/dist/services/auth-flow-state-machine.types.js.map +1 -1
  447. package/dist/services/auth.service.d.ts +397 -1
  448. package/dist/services/auth.service.d.ts.map +1 -1
  449. package/dist/services/auth.service.js +943 -27
  450. package/dist/services/auth.service.js.map +1 -1
  451. package/dist/services/challenge.service.d.ts +255 -1
  452. package/dist/services/challenge.service.d.ts.map +1 -1
  453. package/dist/services/challenge.service.js +327 -3
  454. package/dist/services/challenge.service.js.map +1 -1
  455. package/dist/services/client-info.service.d.ts +143 -0
  456. package/dist/services/client-info.service.d.ts.map +1 -1
  457. package/dist/services/client-info.service.js +161 -0
  458. package/dist/services/client-info.service.js.map +1 -1
  459. package/dist/services/csrf.service.d.ts +15 -0
  460. package/dist/services/csrf.service.d.ts.map +1 -1
  461. package/dist/services/csrf.service.js +16 -0
  462. package/dist/services/csrf.service.js.map +1 -1
  463. package/dist/services/email-verification.service.d.ts +52 -0
  464. package/dist/services/email-verification.service.d.ts.map +1 -1
  465. package/dist/services/email-verification.service.js +152 -12
  466. package/dist/services/email-verification.service.js.map +1 -1
  467. package/dist/services/geo-location.service.d.ts +105 -0
  468. package/dist/services/geo-location.service.d.ts.map +1 -1
  469. package/dist/services/geo-location.service.js +188 -2
  470. package/dist/services/geo-location.service.js.map +1 -1
  471. package/dist/services/jwt.service.d.ts +257 -0
  472. package/dist/services/jwt.service.d.ts.map +1 -1
  473. package/dist/services/jwt.service.js +284 -1
  474. package/dist/services/jwt.service.js.map +1 -1
  475. package/dist/services/mfa-base.service.d.ts +179 -1
  476. package/dist/services/mfa-base.service.d.ts.map +1 -1
  477. package/dist/services/mfa-base.service.js +256 -2
  478. package/dist/services/mfa-base.service.js.map +1 -1
  479. package/dist/services/mfa.service.d.ts +304 -0
  480. package/dist/services/mfa.service.d.ts.map +1 -1
  481. package/dist/services/mfa.service.js +380 -0
  482. package/dist/services/mfa.service.js.map +1 -1
  483. package/dist/services/password-reset.service.d.ts +46 -0
  484. package/dist/services/password-reset.service.d.ts.map +1 -1
  485. package/dist/services/password-reset.service.js +79 -0
  486. package/dist/services/password-reset.service.js.map +1 -1
  487. package/dist/services/password.service.d.ts +139 -0
  488. package/dist/services/password.service.d.ts.map +1 -1
  489. package/dist/services/password.service.js +167 -9
  490. package/dist/services/password.service.js.map +1 -1
  491. package/dist/services/phone-verification.service.d.ts +75 -0
  492. package/dist/services/phone-verification.service.d.ts.map +1 -1
  493. package/dist/services/phone-verification.service.js +188 -6
  494. package/dist/services/phone-verification.service.js.map +1 -1
  495. package/dist/services/risk-detection.service.d.ts +198 -0
  496. package/dist/services/risk-detection.service.d.ts.map +1 -1
  497. package/dist/services/risk-detection.service.js +358 -11
  498. package/dist/services/risk-detection.service.js.map +1 -1
  499. package/dist/services/risk-scoring.service.d.ts +84 -0
  500. package/dist/services/risk-scoring.service.d.ts.map +1 -1
  501. package/dist/services/risk-scoring.service.js +87 -0
  502. package/dist/services/risk-scoring.service.js.map +1 -1
  503. package/dist/services/session.service.d.ts +204 -0
  504. package/dist/services/session.service.d.ts.map +1 -1
  505. package/dist/services/session.service.js +289 -4
  506. package/dist/services/session.service.js.map +1 -1
  507. package/dist/services/social-auth-base.service.d.ts +123 -1
  508. package/dist/services/social-auth-base.service.d.ts.map +1 -1
  509. package/dist/services/social-auth-base.service.js +155 -2
  510. package/dist/services/social-auth-base.service.js.map +1 -1
  511. package/dist/services/social-auth.service.d.ts +191 -0
  512. package/dist/services/social-auth.service.d.ts.map +1 -1
  513. package/dist/services/social-auth.service.js +215 -2
  514. package/dist/services/social-auth.service.js.map +1 -1
  515. package/dist/services/social-provider-registry.service.d.ts +86 -0
  516. package/dist/services/social-provider-registry.service.d.ts.map +1 -1
  517. package/dist/services/social-provider-registry.service.js +86 -0
  518. package/dist/services/social-provider-registry.service.js.map +1 -1
  519. package/dist/services/trusted-device.service.d.ts +105 -0
  520. package/dist/services/trusted-device.service.d.ts.map +1 -1
  521. package/dist/services/trusted-device.service.js +133 -4
  522. package/dist/services/trusted-device.service.js.map +1 -1
  523. package/dist/storage/account-lockout-storage.service.d.ts +35 -0
  524. package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
  525. package/dist/storage/account-lockout-storage.service.js +35 -0
  526. package/dist/storage/account-lockout-storage.service.js.map +1 -1
  527. package/dist/storage/memory-storage.adapter.d.ts +148 -0
  528. package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
  529. package/dist/storage/memory-storage.adapter.js +201 -6
  530. package/dist/storage/memory-storage.adapter.js.map +1 -1
  531. package/dist/storage/rate-limit-storage.service.d.ts +3 -0
  532. package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
  533. package/dist/storage/rate-limit-storage.service.js +4 -0
  534. package/dist/storage/rate-limit-storage.service.js.map +1 -1
  535. package/dist/storage.d.ts +8 -0
  536. package/dist/storage.d.ts.map +1 -1
  537. package/dist/storage.js +8 -0
  538. package/dist/storage.js.map +1 -1
  539. package/dist/templates/html-template.engine.d.ts +110 -0
  540. package/dist/templates/html-template.engine.d.ts.map +1 -1
  541. package/dist/templates/html-template.engine.js +147 -0
  542. package/dist/templates/html-template.engine.js.map +1 -1
  543. package/dist/templates/index.d.ts +5 -0
  544. package/dist/templates/index.d.ts.map +1 -1
  545. package/dist/templates/index.js +5 -0
  546. package/dist/templates/index.js.map +1 -1
  547. package/dist/templates/sms-template.engine.d.ts +151 -0
  548. package/dist/templates/sms-template.engine.d.ts.map +1 -1
  549. package/dist/templates/sms-template.engine.js +171 -0
  550. package/dist/templates/sms-template.engine.js.map +1 -1
  551. package/dist/templates.d.ts +8 -0
  552. package/dist/templates.d.ts.map +1 -1
  553. package/dist/templates.js +8 -0
  554. package/dist/templates.js.map +1 -1
  555. package/dist/utils/common-passwords.d.ts +42 -0
  556. package/dist/utils/common-passwords.d.ts.map +1 -1
  557. package/dist/utils/common-passwords.js +88 -0
  558. package/dist/utils/common-passwords.js.map +1 -1
  559. package/dist/utils/context-storage.d.ts +129 -0
  560. package/dist/utils/context-storage.d.ts.map +1 -1
  561. package/dist/utils/context-storage.js +129 -0
  562. package/dist/utils/context-storage.js.map +1 -1
  563. package/dist/utils/cookie-names.util.d.ts +35 -0
  564. package/dist/utils/cookie-names.util.d.ts.map +1 -1
  565. package/dist/utils/cookie-names.util.js +37 -0
  566. package/dist/utils/cookie-names.util.js.map +1 -1
  567. package/dist/utils/cookies.util.d.ts +19 -0
  568. package/dist/utils/cookies.util.d.ts.map +1 -1
  569. package/dist/utils/cookies.util.js +30 -3
  570. package/dist/utils/cookies.util.js.map +1 -1
  571. package/dist/utils/index.d.ts +3 -0
  572. package/dist/utils/index.d.ts.map +1 -1
  573. package/dist/utils/index.js +4 -0
  574. package/dist/utils/index.js.map +1 -1
  575. package/dist/utils/ip-extractor.d.ts +88 -0
  576. package/dist/utils/ip-extractor.d.ts.map +1 -1
  577. package/dist/utils/ip-extractor.js +109 -16
  578. package/dist/utils/ip-extractor.js.map +1 -1
  579. package/dist/utils/nauth-logger.d.ts +70 -0
  580. package/dist/utils/nauth-logger.d.ts.map +1 -1
  581. package/dist/utils/nauth-logger.js +82 -4
  582. package/dist/utils/nauth-logger.js.map +1 -1
  583. package/dist/utils/pii-redactor.d.ts +70 -0
  584. package/dist/utils/pii-redactor.d.ts.map +1 -1
  585. package/dist/utils/pii-redactor.js +102 -0
  586. package/dist/utils/pii-redactor.js.map +1 -1
  587. package/dist/utils/setup/get-repositories.d.ts +16 -0
  588. package/dist/utils/setup/get-repositories.d.ts.map +1 -1
  589. package/dist/utils/setup/get-repositories.js +21 -0
  590. package/dist/utils/setup/get-repositories.js.map +1 -1
  591. package/dist/utils/setup/init-services.d.ts +40 -1
  592. package/dist/utils/setup/init-services.d.ts.map +1 -1
  593. package/dist/utils/setup/init-services.js +98 -0
  594. package/dist/utils/setup/init-services.js.map +1 -1
  595. package/dist/utils/setup/init-social.d.ts +27 -0
  596. package/dist/utils/setup/init-social.d.ts.map +1 -1
  597. package/dist/utils/setup/init-social.js +49 -0
  598. package/dist/utils/setup/init-social.js.map +1 -1
  599. package/dist/utils/setup/init-storage.d.ts +22 -0
  600. package/dist/utils/setup/init-storage.d.ts.map +1 -1
  601. package/dist/utils/setup/init-storage.js +36 -0
  602. package/dist/utils/setup/init-storage.js.map +1 -1
  603. package/dist/utils/setup/register-mfa.d.ts +22 -0
  604. package/dist/utils/setup/register-mfa.d.ts.map +1 -1
  605. package/dist/utils/setup/register-mfa.js +41 -0
  606. package/dist/utils/setup/register-mfa.js.map +1 -1
  607. package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
  608. package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
  609. package/dist/utils/setup/run-nauth-migrations.js +8 -0
  610. package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
  611. package/dist/utils/token-delivery-policy.d.ts +17 -0
  612. package/dist/utils/token-delivery-policy.d.ts.map +1 -1
  613. package/dist/utils/token-delivery-policy.js +17 -0
  614. package/dist/utils/token-delivery-policy.js.map +1 -1
  615. package/dist/utils.d.ts +8 -0
  616. package/dist/utils.d.ts.map +1 -1
  617. package/dist/utils.js +8 -0
  618. package/dist/utils.js.map +1 -1
  619. package/dist/validators/template.validator.d.ts +80 -0
  620. package/dist/validators/template.validator.d.ts.map +1 -1
  621. package/dist/validators/template.validator.js +94 -0
  622. package/dist/validators/template.validator.js.map +1 -1
  623. package/package.json +7 -2
@@ -1 +1 @@
1
- {"version":3,"file":"auth-challenge-helper.service.js","sourceRoot":"","sources":["../../src/services/auth-challenge-helper.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-challenge-helper.service.js","sourceRoot":"","sources":["../../src/services/auth-challenge-helper.service.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,51 @@ import { AdaptiveMFADecisionService } from './adaptive-mfa-decision.service';
5
5
  import { ClientInfoService } from './client-info.service';
6
6
  import { NAuthLogger } from '../utils/nauth-logger';
7
7
  import { AuthFlowContext } from './auth-flow-state-machine.types';
8
+ /**
9
+ * Authentication Flow Context Builder
10
+ *
11
+ * Pre-computes all derived values needed for state machine rule evaluation.
12
+ * This optimization ensures values are calculated once at the beginning of the flow,
13
+ * rather than repeatedly during rule evaluation.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const context = await contextBuilder.build({
18
+ * user,
19
+ * config,
20
+ * authMethod: 'password',
21
+ * deviceToken: 'abc123'
22
+ * });
23
+ * ```
24
+ */
8
25
  export declare class AuthFlowContextBuilder {
9
26
  private readonly trustedDeviceService?;
10
27
  private readonly adaptiveMFADecisionService?;
11
28
  private readonly logger?;
12
- constructor(trustedDeviceService?: TrustedDeviceService | undefined, adaptiveMFADecisionService?: AdaptiveMFADecisionService | undefined, _clientInfoService?: ClientInfoService, logger?: NAuthLogger | undefined);
29
+ constructor(trustedDeviceService?: TrustedDeviceService | undefined, adaptiveMFADecisionService?: AdaptiveMFADecisionService | undefined, _clientInfoService?: ClientInfoService, // Reserved for future use (not stored as property)
30
+ logger?: NAuthLogger | undefined);
31
+ /**
32
+ * Build authentication flow context with pre-computed values
33
+ *
34
+ * @param params - Context parameters
35
+ * @param params.user - User attempting authentication
36
+ * @param params.config - Authentication configuration
37
+ * @param params.authMethod - Authentication method ('password' or 'social')
38
+ * @param params.authProvider - Social auth provider name (e.g., 'google', 'apple')
39
+ * @param params.deviceToken - Device token for trusted device check
40
+ * @param params.skipMFAVerification - Skip MFA verification flag
41
+ * @returns Authentication flow context with computed values
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const context = await contextBuilder.build({
46
+ * user,
47
+ * config,
48
+ * authMethod: 'password',
49
+ * deviceToken: 'abc123'
50
+ * });
51
+ * ```
52
+ */
13
53
  build(params: {
14
54
  user: IUser;
15
55
  config: NAuthConfig;
@@ -18,14 +58,93 @@ export declare class AuthFlowContextBuilder {
18
58
  deviceToken?: string;
19
59
  skipMFAVerification?: boolean;
20
60
  }): Promise<AuthFlowContext>;
61
+ /**
62
+ * Check if email verification is required
63
+ *
64
+ * @param user - User to check
65
+ * @param config - Auth configuration
66
+ * @param authMethod - Authentication method
67
+ * @returns True if email verification is required
68
+ */
21
69
  private isEmailVerificationRequired;
70
+ /**
71
+ * Check if phone verification is required
72
+ *
73
+ * @param user - User to check
74
+ * @param config - Auth configuration
75
+ * @param authMethod - Authentication method
76
+ * @returns True if phone verification is required
77
+ */
22
78
  private isPhoneVerificationRequired;
79
+ /**
80
+ * Check if phone collection is needed
81
+ *
82
+ * Phone collection is the step where we ask users to provide their phone number.
83
+ * This should NOT be triggered if:
84
+ * - User already has a verified phone (e.g., from prior signup or account linking)
85
+ * - Phone verification is not required by config
86
+ *
87
+ * **Bug Fix (2025-12-08):**
88
+ * Previously didn't check `isPhoneVerified`, causing social login users with
89
+ * verified phones to be asked for phone collection again after account linking.
90
+ *
91
+ * @param user - User to check
92
+ * @param config - Auth configuration
93
+ * @param _authMethod - Authentication method (unused, kept for API consistency)
94
+ * @returns True if phone collection is needed
95
+ */
23
96
  private isPhoneCollectionNeeded;
97
+ /**
98
+ * Check if user is exempt from MFA
99
+ *
100
+ * @param user - User to check
101
+ * @returns True if user is exempt from MFA
102
+ */
24
103
  private checkMFAExempt;
104
+ /**
105
+ * Check if MFA setup is required
106
+ *
107
+ * @param user - User to check
108
+ * @param config - Auth configuration
109
+ * @param authMethod - Authentication method
110
+ * @returns True if MFA setup is required
111
+ */
25
112
  private isMFASetupRequired;
113
+ /**
114
+ * Check if device is trusted
115
+ *
116
+ * @param user - User to check
117
+ * @param deviceToken - Device token
118
+ * @param config - Auth configuration
119
+ * @returns True if device is trusted
120
+ */
26
121
  private checkDeviceTrust;
122
+ /**
123
+ * Calculate grace period status
124
+ *
125
+ * @param user - User to check
126
+ * @param config - Auth configuration
127
+ * @returns Grace period status
128
+ */
27
129
  private calculateGracePeriod;
130
+ /**
131
+ * Check if user is blocked
132
+ *
133
+ * @param user - User to check
134
+ * @returns Block status
135
+ */
28
136
  private checkBlocked;
137
+ /**
138
+ * Check if MFA verification is required
139
+ *
140
+ * @param user - User to check
141
+ * @param config - Auth configuration
142
+ * @param authMethod - Authentication method
143
+ * @param deviceToken - Device token
144
+ * @param isDeviceTrusted - Whether device is trusted
145
+ * @param skipMFAVerification - Skip MFA verification flag
146
+ * @returns MFA verification requirement and risk data
147
+ */
29
148
  private checkMFAVerification;
30
149
  }
31
150
  //# sourceMappingURL=auth-flow-context-builder.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-flow-context-builder.service.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAmBlE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAHP,oBAAoB,CAAC,EAAE,oBAAoB,YAAA,EAC3C,0BAA0B,CAAC,EAAE,0BAA0B,YAAA,EACxE,kBAAkB,CAAC,EAAE,iBAAiB,EACrB,MAAM,CAAC,EAAE,WAAW,YAAA;IAyBjC,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,CAAC;IA0E5B,OAAO,CAAC,2BAA2B;IA8BnC,OAAO,CAAC,2BAA2B;IAwCnC,OAAO,CAAC,uBAAuB;IAiC/B,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,kBAAkB;YAsDZ,gBAAgB;IA2B9B,OAAO,CAAC,oBAAoB;YAmCd,YAAY;YA8BZ,oBAAoB;CAyHnC"}
1
+ {"version":3,"file":"auth-flow-context-builder.service.d.ts","sourceRoot":"","sources":["../../src/services/auth-flow-context-builder.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAHP,oBAAoB,CAAC,EAAE,oBAAoB,YAAA,EAC3C,0BAA0B,CAAC,EAAE,0BAA0B,YAAA,EACxE,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,mDAAmD;IAC1E,MAAM,CAAC,EAAE,WAAW,YAAA;IAGvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,KAAK,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,CAAC;IAkE5B;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAsBnC;;;;;;;OAOG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAMtB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;;;;;;OAOG;YACW,gBAAgB;IAoB9B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;OAKG;YACW,YAAY;IAmB1B;;;;;;;;;;OAUG;YACW,oBAAoB;CAyHnC"}
@@ -1,18 +1,61 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthFlowContextBuilder = void 0;
4
+ /**
5
+ * Authentication Flow Context Builder
6
+ *
7
+ * Pre-computes all derived values needed for state machine rule evaluation.
8
+ * This optimization ensures values are calculated once at the beginning of the flow,
9
+ * rather than repeatedly during rule evaluation.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const context = await contextBuilder.build({
14
+ * user,
15
+ * config,
16
+ * authMethod: 'password',
17
+ * deviceToken: 'abc123'
18
+ * });
19
+ * ```
20
+ */
4
21
  class AuthFlowContextBuilder {
5
22
  trustedDeviceService;
6
23
  adaptiveMFADecisionService;
7
24
  logger;
8
- constructor(trustedDeviceService, adaptiveMFADecisionService, _clientInfoService, logger) {
25
+ constructor(trustedDeviceService, adaptiveMFADecisionService, _clientInfoService, // Reserved for future use (not stored as property)
26
+ logger) {
9
27
  this.trustedDeviceService = trustedDeviceService;
10
28
  this.adaptiveMFADecisionService = adaptiveMFADecisionService;
11
29
  this.logger = logger;
12
30
  }
31
+ /**
32
+ * Build authentication flow context with pre-computed values
33
+ *
34
+ * @param params - Context parameters
35
+ * @param params.user - User attempting authentication
36
+ * @param params.config - Authentication configuration
37
+ * @param params.authMethod - Authentication method ('password' or 'social')
38
+ * @param params.authProvider - Social auth provider name (e.g., 'google', 'apple')
39
+ * @param params.deviceToken - Device token for trusted device check
40
+ * @param params.skipMFAVerification - Skip MFA verification flag
41
+ * @returns Authentication flow context with computed values
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const context = await contextBuilder.build({
46
+ * user,
47
+ * config,
48
+ * authMethod: 'password',
49
+ * deviceToken: 'abc123'
50
+ * });
51
+ * ```
52
+ */
13
53
  async build(params) {
14
54
  const { user, config, authMethod, authProvider, deviceToken, skipMFAVerification } = params;
15
55
  this.logger?.debug?.(`[ContextBuilder] Building context for user ${user.sub} (authMethod=${authMethod || 'password'}, mfaEnabled=${user.mfaEnabled}, mfaExempt=${user.mfaExempt || false})`);
56
+ // ============================================================================
57
+ // Pre-compute all derived values
58
+ // ============================================================================
16
59
  const isEmailVerificationRequired = this.isEmailVerificationRequired(user, config, authMethod);
17
60
  const isPhoneVerificationRequired = this.isPhoneVerificationRequired(user, config, authMethod);
18
61
  const isPhoneCollectionNeeded = this.isPhoneCollectionNeeded(user, config, authMethod);
@@ -22,8 +65,9 @@ class AuthFlowContextBuilder {
22
65
  const gracePeriodData = this.calculateGracePeriod(user, config);
23
66
  const blockData = await this.checkBlocked(user);
24
67
  const mfaVerificationData = await this.checkMFAVerification(user, config, authMethod, deviceToken, isDeviceTrusted, skipMFAVerification);
68
+ // Merge block status from existing storage and adaptive MFA decision
25
69
  const isBlocked = blockData.blocked || (mfaVerificationData.isBlocked ?? false);
26
- const blockedUntil = blockData.until;
70
+ const blockedUntil = blockData.until; // From existing block
27
71
  const blockReason = blockData.reason || (mfaVerificationData.isBlocked ? 'Sign in blocked due to suspicious activity' : undefined);
28
72
  const computed = {
29
73
  isEmailVerificationRequired,
@@ -52,76 +96,159 @@ class AuthFlowContextBuilder {
52
96
  computed,
53
97
  };
54
98
  }
99
+ /**
100
+ * Check if email verification is required
101
+ *
102
+ * @param user - User to check
103
+ * @param config - Auth configuration
104
+ * @param authMethod - Authentication method
105
+ * @returns True if email verification is required
106
+ */
55
107
  isEmailVerificationRequired(user, config, authMethod) {
56
108
  const verificationMethod = config.signup?.verificationMethod || 'email';
109
+ // Email verification not required if verification is disabled
57
110
  if (verificationMethod === 'none' || verificationMethod === 'phone') {
58
111
  return false;
59
112
  }
113
+ // Social auth users have email pre-verified by OAuth provider
60
114
  if (authMethod === 'social') {
61
115
  return false;
62
116
  }
117
+ // Check if email is already verified
63
118
  if (user.isEmailVerified) {
64
119
  return false;
65
120
  }
121
+ // Email verification required for 'email' or 'both' methods
66
122
  return verificationMethod === 'email' || verificationMethod === 'both';
67
123
  }
124
+ /**
125
+ * Check if phone verification is required
126
+ *
127
+ * @param user - User to check
128
+ * @param config - Auth configuration
129
+ * @param authMethod - Authentication method
130
+ * @returns True if phone verification is required
131
+ */
68
132
  isPhoneVerificationRequired(user, config, _authMethod) {
69
133
  const verificationMethod = config.signup?.verificationMethod || 'email';
134
+ // Phone verification not required if verification is disabled or email-only
70
135
  if (verificationMethod === 'none' || verificationMethod === 'email') {
71
136
  return false;
72
137
  }
138
+ // Phone verification required for 'phone' or 'both' methods
139
+ // But only if user has a phone number
73
140
  if (verificationMethod === 'phone' || verificationMethod === 'both') {
141
+ // If user has no phone, phone collection is needed first (handled separately)
74
142
  if (!user.phone) {
75
- return false;
143
+ return false; // Phone collection needed, not verification
76
144
  }
145
+ // Check if phone is already verified
77
146
  return !user.isPhoneVerified;
78
147
  }
79
148
  return false;
80
149
  }
150
+ /**
151
+ * Check if phone collection is needed
152
+ *
153
+ * Phone collection is the step where we ask users to provide their phone number.
154
+ * This should NOT be triggered if:
155
+ * - User already has a verified phone (e.g., from prior signup or account linking)
156
+ * - Phone verification is not required by config
157
+ *
158
+ * **Bug Fix (2025-12-08):**
159
+ * Previously didn't check `isPhoneVerified`, causing social login users with
160
+ * verified phones to be asked for phone collection again after account linking.
161
+ *
162
+ * @param user - User to check
163
+ * @param config - Auth configuration
164
+ * @param _authMethod - Authentication method (unused, kept for API consistency)
165
+ * @returns True if phone collection is needed
166
+ */
81
167
  isPhoneCollectionNeeded(user, config, _authMethod) {
82
168
  const verificationMethod = config.signup?.verificationMethod || 'email';
169
+ // Phone collection not needed if verification is disabled or email-only
83
170
  if (verificationMethod === 'none' || verificationMethod === 'email') {
84
171
  return false;
85
172
  }
173
+ // ============================================================================
174
+ // Skip phone collection if phone is already verified
175
+ // ============================================================================
176
+ // This handles cases like:
177
+ // - User signs up with password + phone verification, then later links social account
178
+ // - Account linking where existing account has verified phone
179
+ // - Any scenario where phone is already verified (we trust it)
86
180
  if (user.isPhoneVerified) {
87
181
  return false;
88
182
  }
183
+ // Phone collection needed for 'phone' or 'both' methods if user has no phone
89
184
  if ((verificationMethod === 'phone' || verificationMethod === 'both') && !user.phone) {
90
185
  return true;
91
186
  }
92
187
  return false;
93
188
  }
189
+ /**
190
+ * Check if user is exempt from MFA
191
+ *
192
+ * @param user - User to check
193
+ * @returns True if user is exempt from MFA
194
+ */
94
195
  checkMFAExempt(user) {
95
196
  const mfaExempt = user.mfaExempt;
197
+ // Handle different database representations (boolean true, MySQL tinyint 1, etc.)
96
198
  return mfaExempt === true || mfaExempt === 1;
97
199
  }
200
+ /**
201
+ * Check if MFA setup is required
202
+ *
203
+ * @param user - User to check
204
+ * @param config - Auth configuration
205
+ * @param authMethod - Authentication method
206
+ * @returns True if MFA setup is required
207
+ */
98
208
  isMFASetupRequired(user, config, authMethod) {
209
+ // Check exemption first
99
210
  if (this.checkMFAExempt(user)) {
100
211
  return false;
101
212
  }
213
+ // MFA not enabled in config
102
214
  if (!config.mfa?.enabled) {
103
215
  return false;
104
216
  }
217
+ // User already has MFA enabled
105
218
  if (user.mfaEnabled) {
106
219
  return false;
107
220
  }
221
+ // Social login exemption
108
222
  if (authMethod === 'social' && config.mfa.requireForSocialLogin === false) {
109
223
  return false;
110
224
  }
225
+ // Check enforcement policy
111
226
  const enforcement = config.mfa.enforcement || 'OPTIONAL';
112
227
  if (enforcement === 'OPTIONAL') {
113
228
  return false;
114
229
  }
230
+ // REQUIRED or ADAPTIVE: Check grace period
115
231
  const gracePeriod = config.mfa.gracePeriod ?? 7;
116
232
  const gracePeriodData = this.calculateGracePeriod(user, config);
233
+ // If grace period is 0, MFA setup is required immediately
117
234
  if (gracePeriod === 0) {
118
235
  return true;
119
236
  }
237
+ // If grace period is active, MFA setup is optional
120
238
  if (gracePeriodData.isActive) {
121
239
  return false;
122
240
  }
241
+ // Grace period expired - MFA setup required
123
242
  return true;
124
243
  }
244
+ /**
245
+ * Check if device is trusted
246
+ *
247
+ * @param user - User to check
248
+ * @param deviceToken - Device token
249
+ * @param config - Auth configuration
250
+ * @returns True if device is trusted
251
+ */
125
252
  async checkDeviceTrust(user, deviceToken, config) {
126
253
  if (!deviceToken ||
127
254
  !config?.mfa?.rememberDevices ||
@@ -139,14 +266,24 @@ class AuthFlowContextBuilder {
139
266
  return false;
140
267
  }
141
268
  }
269
+ /**
270
+ * Calculate grace period status
271
+ *
272
+ * @param user - User to check
273
+ * @param config - Auth configuration
274
+ * @returns Grace period status
275
+ */
142
276
  calculateGracePeriod(user, config) {
143
277
  const gracePeriod = config.mfa?.gracePeriod ?? 7;
278
+ // No grace period
144
279
  if (gracePeriod === 0) {
145
280
  return { isActive: false };
146
281
  }
282
+ // Access createdAt from user interface
147
283
  const userWithDates = user;
148
284
  const createdAt = userWithDates.createdAt;
149
285
  if (!createdAt) {
286
+ // No creation date - grace period not active
150
287
  return { isActive: false };
151
288
  }
152
289
  const gracePeriodEnd = new Date(createdAt);
@@ -158,6 +295,12 @@ class AuthFlowContextBuilder {
158
295
  endsAt: isActive ? gracePeriodEnd : undefined,
159
296
  };
160
297
  }
298
+ /**
299
+ * Check if user is blocked
300
+ *
301
+ * @param user - User to check
302
+ * @returns Block status
303
+ */
161
304
  async checkBlocked(user) {
162
305
  if (!this.adaptiveMFADecisionService) {
163
306
  return { blocked: false };
@@ -176,32 +319,58 @@ class AuthFlowContextBuilder {
176
319
  return { blocked: false };
177
320
  }
178
321
  }
179
- async checkMFAVerification(user, config, authMethod, _deviceToken, isDeviceTrusted, skipMFAVerification) {
322
+ /**
323
+ * Check if MFA verification is required
324
+ *
325
+ * @param user - User to check
326
+ * @param config - Auth configuration
327
+ * @param authMethod - Authentication method
328
+ * @param deviceToken - Device token
329
+ * @param isDeviceTrusted - Whether device is trusted
330
+ * @param skipMFAVerification - Skip MFA verification flag
331
+ * @returns MFA verification requirement and risk data
332
+ */
333
+ async checkMFAVerification(user, config, authMethod, _deviceToken, // Reserved for future use
334
+ isDeviceTrusted, skipMFAVerification) {
335
+ // Skip if flag is set
180
336
  if (skipMFAVerification) {
181
337
  return { required: false };
182
338
  }
339
+ // Check exemption first
183
340
  if (this.checkMFAExempt(user)) {
184
341
  return { required: false };
185
342
  }
343
+ // MFA not enabled in config
186
344
  if (!config.mfa?.enabled) {
187
345
  return { required: false };
188
346
  }
347
+ // User doesn't have MFA enabled
189
348
  if (!user.mfaEnabled) {
190
349
  return { required: false };
191
350
  }
351
+ // Social login exemption
192
352
  if (authMethod === 'social' && config.mfa.requireForSocialLogin === false) {
193
353
  return { required: false };
194
354
  }
355
+ // Check enforcement policy
195
356
  const enforcement = config.mfa.enforcement || 'OPTIONAL';
357
+ // ============================================================================
358
+ // OPTIONAL Enforcement: Setup is optional, but if user has MFA enabled,
359
+ // it must be used (unless trusted device bypass applies)
360
+ // ============================================================================
196
361
  if (enforcement === 'OPTIONAL') {
362
+ // OPTIONAL means setup is optional, but once enabled, MFA is required
363
+ // Check if trusted device bypass applies
197
364
  if (isDeviceTrusted &&
198
365
  config.mfa.rememberDevices &&
199
366
  config.mfa.rememberDevices !== 'never' &&
200
367
  config.mfa.bypassMFAForTrustedDevices === true) {
201
368
  return { required: false };
202
369
  }
370
+ // User has MFA enabled - require it
203
371
  return { required: true };
204
372
  }
373
+ // Trusted device bypass (for REQUIRED enforcement, not ADAPTIVE)
205
374
  if (enforcement === 'REQUIRED' &&
206
375
  isDeviceTrusted &&
207
376
  config.mfa.rememberDevices &&
@@ -209,24 +378,31 @@ class AuthFlowContextBuilder {
209
378
  config.mfa.bypassMFAForTrustedDevices === true) {
210
379
  return { required: false };
211
380
  }
381
+ // ADAPTIVE enforcement
212
382
  if (enforcement === 'ADAPTIVE') {
213
383
  if (!this.adaptiveMFADecisionService) {
384
+ // Service not available - fall back to REQUIRED behavior
214
385
  this.logger?.warn?.(`ADAPTIVE enforcement enabled but AdaptiveMFADecisionService not available - falling back to REQUIRED behavior for user ${user.sub}`);
215
386
  return { required: true };
216
387
  }
388
+ // Always evaluate adaptive MFA for complete risk assessment (trusted or untrusted)
217
389
  try {
218
390
  const decision = await this.adaptiveMFADecisionService.evaluateAdaptiveMFA(user, authMethod || 'password');
391
+ // Handle block_signin action - block user and store in storage
219
392
  if (decision.action === 'block_signin') {
220
393
  if (decision.payload) {
221
394
  await this.adaptiveMFADecisionService.blockUserSignIn(user, decision.payload);
222
395
  }
396
+ // Mark as blocked so state machine will transition to BLOCKED state
223
397
  return {
224
- required: false,
398
+ required: false, // Not relevant - will be blocked
225
399
  riskScore: decision.riskScore,
226
400
  riskLevel: decision.riskLevel,
227
401
  isBlocked: true,
228
402
  };
229
403
  }
404
+ // For untrusted devices, always require MFA regardless of risk score
405
+ // (new devices are inherently riskier and should verify)
230
406
  if (!isDeviceTrusted) {
231
407
  return {
232
408
  required: true,
@@ -234,6 +410,7 @@ class AuthFlowContextBuilder {
234
410
  riskLevel: decision.riskLevel,
235
411
  };
236
412
  }
413
+ // For trusted devices, use risk-based decision
237
414
  return {
238
415
  required: decision.action === 'require_mfa',
239
416
  riskScore: decision.riskScore,
@@ -243,9 +420,11 @@ class AuthFlowContextBuilder {
243
420
  catch (error) {
244
421
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
245
422
  this.logger?.warn?.(`Failed to evaluate adaptive MFA: ${errorMessage}`, { error, userId: user.id });
423
+ // Fall back to requiring MFA on error (safer)
246
424
  return { required: true };
247
425
  }
248
426
  }
427
+ // REQUIRED enforcement
249
428
  return { required: true };
250
429
  }
251
430
  }