@nauth-toolkit/core 0.1.13 → 0.1.17

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 +1774 -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 +48 -0
  412. package/dist/schemas/auth-config.schema.d.ts.map +1 -1
  413. package/dist/schemas/auth-config.schema.js +188 -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 +149 -10
  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,61 +1,393 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthErrorCode = void 0;
4
+ /**
5
+ * Authentication Error Codes
6
+ *
7
+ * Standardized error codes for all nauth-toolkit errors.
8
+ * Organized by category for easy navigation and maintenance.
9
+ *
10
+ * **Benefits:**
11
+ * - Programmatic error handling (no string parsing)
12
+ * - Internationalization support
13
+ * - Better analytics and monitoring
14
+ * - Type-safe error checking
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // Backend
19
+ * throw new NAuthException(
20
+ * AuthErrorCode.RATE_LIMIT_SMS,
21
+ * 'Too many SMS sent',
22
+ * HttpStatus.TOO_MANY_REQUESTS,
23
+ * { retryAfter: 3600 }
24
+ * );
25
+ *
26
+ * // Frontend
27
+ * if (error.code === AuthErrorCode.RATE_LIMIT_SMS) {
28
+ * showRetryTimer(error.details.retryAfter);
29
+ * }
30
+ * ```
31
+ */
4
32
  var AuthErrorCode;
5
33
  (function (AuthErrorCode) {
34
+ // ============================================================================
35
+ // Authentication Errors (AUTH_*)
36
+ // ============================================================================
37
+ /**
38
+ * Invalid username/email or password
39
+ *
40
+ * Used when credentials don't match any user or password is incorrect.
41
+ */
6
42
  AuthErrorCode["INVALID_CREDENTIALS"] = "AUTH_INVALID_CREDENTIALS";
43
+ /**
44
+ * Account has been locked due to too many failed attempts
45
+ *
46
+ * Temporary lockout for security. Includes lockout duration in details.
47
+ */
7
48
  AuthErrorCode["ACCOUNT_LOCKED"] = "AUTH_ACCOUNT_LOCKED";
49
+ /**
50
+ * Account is inactive or disabled
51
+ *
52
+ * Account exists but has been deactivated by admin or user.
53
+ */
8
54
  AuthErrorCode["ACCOUNT_INACTIVE"] = "AUTH_ACCOUNT_INACTIVE";
55
+ /**
56
+ * Access token has expired
57
+ *
58
+ * Client should attempt token refresh.
59
+ */
9
60
  AuthErrorCode["TOKEN_EXPIRED"] = "AUTH_TOKEN_EXPIRED";
61
+ /**
62
+ * Token is invalid or malformed
63
+ *
64
+ * Token signature verification failed or token format is invalid.
65
+ */
10
66
  AuthErrorCode["TOKEN_INVALID"] = "AUTH_TOKEN_INVALID";
67
+ /**
68
+ * Bearer tokens are not allowed in the current delivery mode
69
+ *
70
+ * Used when tokenDelivery.method is 'cookies' and an Authorization header
71
+ * (Bearer token) is provided, which would bypass httpOnly protections.
72
+ */
11
73
  AuthErrorCode["BEARER_NOT_ALLOWED"] = "AUTH_BEARER_NOT_ALLOWED";
74
+ /**
75
+ * Cookie-based tokens are not allowed in the current delivery mode
76
+ *
77
+ * Used when tokenDelivery.method is 'json' and cookie tokens are present.
78
+ */
12
79
  AuthErrorCode["COOKIES_NOT_ALLOWED"] = "AUTH_COOKIES_NOT_ALLOWED";
80
+ /**
81
+ * CSRF token is invalid or missing
82
+ *
83
+ * Used when CSRF protection is enabled and token validation fails.
84
+ */
13
85
  AuthErrorCode["CSRF_TOKEN_INVALID"] = "AUTH_CSRF_TOKEN_INVALID";
86
+ /**
87
+ * CSRF token is missing from request
88
+ *
89
+ * Used when CSRF protection is enabled but no token is provided.
90
+ */
14
91
  AuthErrorCode["CSRF_TOKEN_MISSING"] = "AUTH_CSRF_TOKEN_MISSING";
92
+ /**
93
+ * Refresh token reuse detected - security violation
94
+ *
95
+ * All sessions have been revoked. User must login again.
96
+ */
15
97
  AuthErrorCode["TOKEN_REUSE_DETECTED"] = "AUTH_TOKEN_REUSE_DETECTED";
98
+ /**
99
+ * Session not found or has been revoked
100
+ */
16
101
  AuthErrorCode["SESSION_NOT_FOUND"] = "AUTH_SESSION_NOT_FOUND";
102
+ /**
103
+ * Session has expired
104
+ */
17
105
  AuthErrorCode["SESSION_EXPIRED"] = "AUTH_SESSION_EXPIRED";
106
+ // ============================================================================
107
+ // Signup Errors (SIGNUP_*)
108
+ // ============================================================================
109
+ /**
110
+ * User signup is currently disabled
111
+ *
112
+ * Signups are administratively disabled.
113
+ */
18
114
  AuthErrorCode["SIGNUP_DISABLED"] = "SIGNUP_DISABLED";
115
+ /**
116
+ * Email address is already registered
117
+ *
118
+ * Another user account exists with this email.
119
+ */
19
120
  AuthErrorCode["EMAIL_EXISTS"] = "SIGNUP_EMAIL_EXISTS";
121
+ /**
122
+ * Username is already taken
123
+ *
124
+ * Another user has registered this username.
125
+ */
20
126
  AuthErrorCode["USERNAME_EXISTS"] = "SIGNUP_USERNAME_EXISTS";
127
+ /**
128
+ * Phone number is already registered
129
+ *
130
+ * Another user account exists with this phone number.
131
+ */
21
132
  AuthErrorCode["PHONE_EXISTS"] = "SIGNUP_PHONE_EXISTS";
133
+ /**
134
+ * Password doesn't meet security requirements
135
+ *
136
+ * Details include which requirements failed (length, complexity, etc.)
137
+ */
22
138
  AuthErrorCode["WEAK_PASSWORD"] = "SIGNUP_WEAK_PASSWORD";
139
+ /**
140
+ * Phone number is required for signup
141
+ *
142
+ * Configuration requires phone verification.
143
+ */
23
144
  AuthErrorCode["PHONE_REQUIRED"] = "SIGNUP_PHONE_REQUIRED";
145
+ /**
146
+ * Signup not allowed by hook or policy
147
+ */
24
148
  AuthErrorCode["SIGNUP_NOT_ALLOWED"] = "SIGNUP_NOT_ALLOWED";
149
+ // ============================================================================
150
+ // Verification Errors (VERIFY_*)
151
+ // ============================================================================
152
+ /**
153
+ * Verification code is invalid
154
+ *
155
+ * Code doesn't match or has incorrect format.
156
+ */
25
157
  AuthErrorCode["VERIFICATION_CODE_INVALID"] = "VERIFY_CODE_INVALID";
158
+ /**
159
+ * Verification code has expired
160
+ *
161
+ * User needs to request a new code.
162
+ */
26
163
  AuthErrorCode["VERIFICATION_CODE_EXPIRED"] = "VERIFY_CODE_EXPIRED";
164
+ /**
165
+ * Too many failed verification attempts
166
+ *
167
+ * User exceeded max attempts. Must request new code.
168
+ */
27
169
  AuthErrorCode["VERIFICATION_TOO_MANY_ATTEMPTS"] = "VERIFY_TOO_MANY_ATTEMPTS";
170
+ /**
171
+ * Email or phone is already verified
172
+ *
173
+ * No action needed.
174
+ */
28
175
  AuthErrorCode["ALREADY_VERIFIED"] = "VERIFY_ALREADY_VERIFIED";
176
+ // ============================================================================
177
+ // MFA Errors (MFA_*)
178
+ // ============================================================================
179
+ /**
180
+ * MFA setup is required before login
181
+ *
182
+ * User must set up multi-factor authentication before being allowed to login.
183
+ * This occurs when enforcement is 'REQUIRED' and grace period has expired (or is disabled).
184
+ * Details include allowedMethods array.
185
+ */
29
186
  AuthErrorCode["MFA_SETUP_REQUIRED"] = "MFA_SETUP_REQUIRED";
187
+ // ============================================================================
188
+ // Rate Limit Errors (RATE_LIMIT_*)
189
+ // ============================================================================
190
+ /**
191
+ * Too many SMS verification requests
192
+ *
193
+ * Details include retryAfter (seconds) and resetAt (timestamp).
194
+ */
30
195
  AuthErrorCode["RATE_LIMIT_SMS"] = "RATE_LIMIT_SMS";
196
+ /**
197
+ * Too many email verification requests
198
+ *
199
+ * Details include retryAfter (seconds) and resetAt (timestamp).
200
+ */
31
201
  AuthErrorCode["RATE_LIMIT_EMAIL"] = "RATE_LIMIT_EMAIL";
202
+ /**
203
+ * Too many login attempts
204
+ *
205
+ * Account may be locked. Details include retryAfter.
206
+ */
32
207
  AuthErrorCode["RATE_LIMIT_LOGIN"] = "RATE_LIMIT_LOGIN";
208
+ /**
209
+ * Too many resend code requests
210
+ *
211
+ * User must wait before requesting another code.
212
+ */
33
213
  AuthErrorCode["RATE_LIMIT_RESEND"] = "RATE_LIMIT_RESEND";
214
+ /**
215
+ * Too many password reset requests
216
+ *
217
+ * Used for forgot-password flows to prevent abuse.
218
+ * Details should include retryAfter (seconds).
219
+ */
34
220
  AuthErrorCode["RATE_LIMIT_PASSWORD_RESET"] = "RATE_LIMIT_PASSWORD_RESET";
221
+ // ============================================================================
222
+ // Social Auth Errors (SOCIAL_*)
223
+ // ============================================================================
224
+ /**
225
+ * Social provider token is invalid or expired
226
+ *
227
+ * Token verification failed with provider.
228
+ */
35
229
  AuthErrorCode["SOCIAL_TOKEN_INVALID"] = "SOCIAL_TOKEN_INVALID";
230
+ /**
231
+ * Social account is already linked to another user
232
+ *
233
+ * This social account cannot be linked because it's in use.
234
+ */
36
235
  AuthErrorCode["SOCIAL_ACCOUNT_LINKED"] = "SOCIAL_ACCOUNT_LINKED";
236
+ /**
237
+ * Social provider is not configured
238
+ *
239
+ * Provider credentials or settings are missing.
240
+ */
37
241
  AuthErrorCode["SOCIAL_CONFIG_MISSING"] = "SOCIAL_CONFIG_MISSING";
242
+ /**
243
+ * Email is required from social provider
244
+ *
245
+ * Social provider didn't return email or email is not verified.
246
+ */
38
247
  AuthErrorCode["SOCIAL_EMAIL_REQUIRED"] = "SOCIAL_EMAIL_REQUIRED";
248
+ /**
249
+ * Social account not found for this user
250
+ *
251
+ * User doesn't have this social provider linked.
252
+ */
39
253
  AuthErrorCode["SOCIAL_ACCOUNT_NOT_FOUND"] = "SOCIAL_ACCOUNT_NOT_FOUND";
254
+ // ============================================================================
255
+ // Challenge Errors (CHALLENGE_*)
256
+ // ============================================================================
257
+ /**
258
+ * Challenge session has expired
259
+ *
260
+ * User must restart authentication flow.
261
+ */
40
262
  AuthErrorCode["CHALLENGE_EXPIRED"] = "CHALLENGE_EXPIRED";
263
+ /**
264
+ * Challenge session is invalid
265
+ *
266
+ * Session token is malformed or not found.
267
+ */
41
268
  AuthErrorCode["CHALLENGE_INVALID"] = "CHALLENGE_INVALID";
269
+ /**
270
+ * Challenge type mismatch
271
+ *
272
+ * Client sent wrong challenge type for this session.
273
+ */
42
274
  AuthErrorCode["CHALLENGE_TYPE_MISMATCH"] = "CHALLENGE_TYPE_MISMATCH";
275
+ /**
276
+ * Max challenge attempts exceeded
277
+ *
278
+ * User must request new challenge session.
279
+ */
43
280
  AuthErrorCode["CHALLENGE_MAX_ATTEMPTS"] = "CHALLENGE_MAX_ATTEMPTS";
281
+ /**
282
+ * Challenge has already been completed
283
+ */
44
284
  AuthErrorCode["CHALLENGE_ALREADY_COMPLETED"] = "CHALLENGE_ALREADY_COMPLETED";
285
+ // ============================================================================
286
+ // Validation Errors (VALIDATION_*)
287
+ // ============================================================================
288
+ /**
289
+ * Request validation failed
290
+ *
291
+ * Details include field-specific validation errors.
292
+ */
45
293
  AuthErrorCode["VALIDATION_FAILED"] = "VALIDATION_FAILED";
294
+ /**
295
+ * Phone number format is invalid
296
+ *
297
+ * Must be in E.164 format (e.g., +1234567890).
298
+ */
46
299
  AuthErrorCode["INVALID_PHONE_FORMAT"] = "VALIDATION_INVALID_PHONE";
300
+ /**
301
+ * Email format is invalid
302
+ */
47
303
  AuthErrorCode["INVALID_EMAIL_FORMAT"] = "VALIDATION_INVALID_EMAIL";
304
+ /**
305
+ * Password format is invalid
306
+ *
307
+ * Details include specific requirements that failed.
308
+ */
48
309
  AuthErrorCode["INVALID_PASSWORD_FORMAT"] = "VALIDATION_INVALID_PASSWORD";
310
+ // ============================================================================
311
+ // Password Errors (PASSWORD_*)
312
+ // ============================================================================
313
+ /**
314
+ * Current password is incorrect
315
+ *
316
+ * Used when changing password.
317
+ */
49
318
  AuthErrorCode["PASSWORD_INCORRECT"] = "PASSWORD_INCORRECT";
319
+ /**
320
+ * Cannot reuse recent passwords
321
+ *
322
+ * New password matches one of the recent passwords.
323
+ */
50
324
  AuthErrorCode["PASSWORD_REUSED"] = "PASSWORD_REUSED";
325
+ /**
326
+ * Password change is not allowed
327
+ *
328
+ * Social-only users cannot change password.
329
+ */
51
330
  AuthErrorCode["PASSWORD_CHANGE_NOT_ALLOWED"] = "PASSWORD_CHANGE_NOT_ALLOWED";
331
+ // ============================================================================
332
+ // Password Reset Errors (PASSWORD_RESET_*)
333
+ // ============================================================================
334
+ /**
335
+ * Password reset verification code is invalid
336
+ *
337
+ * Used when confirming a forgot-password code.
338
+ */
52
339
  AuthErrorCode["PASSWORD_RESET_CODE_INVALID"] = "PASSWORD_RESET_CODE_INVALID";
340
+ /**
341
+ * Password reset verification code has expired
342
+ *
343
+ * Used when confirming a forgot-password code after TTL.
344
+ */
53
345
  AuthErrorCode["PASSWORD_RESET_CODE_EXPIRED"] = "PASSWORD_RESET_CODE_EXPIRED";
346
+ /**
347
+ * Too many failed password reset code attempts
348
+ *
349
+ * Used when confirming a forgot-password code exceeds max attempts.
350
+ */
54
351
  AuthErrorCode["PASSWORD_RESET_MAX_ATTEMPTS"] = "PASSWORD_RESET_MAX_ATTEMPTS";
352
+ // ============================================================================
353
+ // General Errors (*)
354
+ // ============================================================================
355
+ /**
356
+ * Requested resource not found
357
+ */
55
358
  AuthErrorCode["NOT_FOUND"] = "RESOURCE_NOT_FOUND";
359
+ /**
360
+ * Internal server error
361
+ *
362
+ * Unexpected error occurred. Details may include correlation ID.
363
+ */
56
364
  AuthErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
365
+ /**
366
+ * Access forbidden
367
+ *
368
+ * User doesn't have permission for this action.
369
+ */
57
370
  AuthErrorCode["FORBIDDEN"] = "FORBIDDEN";
371
+ /**
372
+ * Service temporarily unavailable
373
+ *
374
+ * May include retryAfter in details.
375
+ */
58
376
  AuthErrorCode["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
377
+ // ============================================================================
378
+ // Adaptive MFA Errors (ADAPTIVE_*)
379
+ // ============================================================================
380
+ /**
381
+ * Sign-in blocked due to high risk score
382
+ *
383
+ * Adaptive MFA evaluated the login attempt and determined it exceeds
384
+ * the high-risk threshold. Sign-in is blocked for security.
385
+ *
386
+ * Details may include:
387
+ * - riskScore: The calculated risk score (0-100)
388
+ * - riskFactors: Array of detected risk factors
389
+ * - expiresAt: When the block expires (if temporary)
390
+ */
59
391
  AuthErrorCode["SIGNIN_BLOCKED_HIGH_RISK"] = "SIGNIN_BLOCKED_HIGH_RISK";
60
392
  })(AuthErrorCode || (exports.AuthErrorCode = AuthErrorCode = {}));
61
393
  //# sourceMappingURL=error-codes.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-codes.enum.js","sourceRoot":"","sources":["../../src/enums/error-codes.enum.ts"],"names":[],"mappings":";;;AA4BA,IAAY,aAwaX;AAxaD,WAAY,aAAa;IAUvB,iEAAgD,CAAA;IAOhD,uDAAsC,CAAA;IAOtC,2DAA0C,CAAA;IAO1C,qDAAoC,CAAA;IAOpC,qDAAoC,CAAA;IAQpC,+DAA8C,CAAA;IAO9C,iEAAgD,CAAA;IAOhD,+DAA8C,CAAA;IAO9C,+DAA8C,CAAA;IAO9C,mEAAkD,CAAA;IAKlD,6DAA4C,CAAA;IAK5C,yDAAwC,CAAA;IAWxC,oDAAmC,CAAA;IAOnC,qDAAoC,CAAA;IAOpC,2DAA0C,CAAA;IAO1C,qDAAoC,CAAA;IAOpC,uDAAsC,CAAA;IAOtC,yDAAwC,CAAA;IAKxC,0DAAyC,CAAA;IAWzC,kEAAiD,CAAA;IAOjD,kEAAiD,CAAA;IAOjD,4EAA2D,CAAA;IAO3D,6DAA4C,CAAA;IAa5C,0DAAyC,CAAA;IAWzC,kDAAiC,CAAA;IAOjC,sDAAqC,CAAA;IAOrC,sDAAqC,CAAA;IAOrC,wDAAuC,CAAA;IAQvC,wEAAuD,CAAA;IAWvD,8DAA6C,CAAA;IAO7C,gEAA+C,CAAA;IAO/C,gEAA+C,CAAA;IAO/C,gEAA+C,CAAA;IAO/C,sEAAqD,CAAA;IAWrD,wDAAuC,CAAA;IAOvC,wDAAuC,CAAA;IAOvC,oEAAmD,CAAA;IAOnD,kEAAiD,CAAA;IAKjD,4EAA2D,CAAA;IAW3D,wDAAuC,CAAA;IAOvC,kEAAiD,CAAA;IAKjD,kEAAiD,CAAA;IAOjD,wEAAuD,CAAA;IAWvD,0DAAyC,CAAA;IAOzC,oDAAmC,CAAA;IAOnC,4EAA2D,CAAA;IAW3D,4EAA2D,CAAA;IAO3D,4EAA2D,CAAA;IAO3D,4EAA2D,CAAA;IAS3D,iDAAgC,CAAA;IAOhC,kDAAiC,CAAA;IAOjC,wCAAuB,CAAA;IAOvB,4DAA2C,CAAA;IAiB3C,sEAAqD,CAAA;AACvD,CAAC,EAxaW,aAAa,6BAAb,aAAa,QAwaxB"}
1
+ {"version":3,"file":"error-codes.enum.js","sourceRoot":"","sources":["../../src/enums/error-codes.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,IAAY,aAwaX;AAxaD,WAAY,aAAa;IACvB,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;;OAIG;IACH,iEAAgD,CAAA;IAEhD;;;;OAIG;IACH,uDAAsC,CAAA;IAEtC;;;;OAIG;IACH,2DAA0C,CAAA;IAE1C;;;;OAIG;IACH,qDAAoC,CAAA;IAEpC;;;;OAIG;IACH,qDAAoC,CAAA;IAEpC;;;;;OAKG;IACH,+DAA8C,CAAA;IAE9C;;;;OAIG;IACH,iEAAgD,CAAA;IAEhD;;;;OAIG;IACH,+DAA8C,CAAA;IAE9C;;;;OAIG;IACH,+DAA8C,CAAA;IAE9C;;;;OAIG;IACH,mEAAkD,CAAA;IAElD;;OAEG;IACH,6DAA4C,CAAA;IAE5C;;OAEG;IACH,yDAAwC,CAAA;IAExC,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAE/E;;;;OAIG;IACH,oDAAmC,CAAA;IAEnC;;;;OAIG;IACH,qDAAoC,CAAA;IAEpC;;;;OAIG;IACH,2DAA0C,CAAA;IAE1C;;;;OAIG;IACH,qDAAoC,CAAA;IAEpC;;;;OAIG;IACH,uDAAsC,CAAA;IAEtC;;;;OAIG;IACH,yDAAwC,CAAA;IAExC;;OAEG;IACH,0DAAyC,CAAA;IAEzC,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;;OAIG;IACH,kEAAiD,CAAA;IAEjD;;;;OAIG;IACH,kEAAiD,CAAA;IAEjD;;;;OAIG;IACH,4EAA2D,CAAA;IAE3D;;;;OAIG;IACH,6DAA4C,CAAA;IAE5C,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;;;;;OAMG;IACH,0DAAyC,CAAA;IAEzC,+EAA+E;IAC/E,mCAAmC;IACnC,+EAA+E;IAE/E;;;;OAIG;IACH,kDAAiC,CAAA;IAEjC;;;;OAIG;IACH,sDAAqC,CAAA;IAErC;;;;OAIG;IACH,sDAAqC,CAAA;IAErC;;;;OAIG;IACH,wDAAuC,CAAA;IAEvC;;;;;OAKG;IACH,wEAAuD,CAAA;IAEvD,+EAA+E;IAC/E,gCAAgC;IAChC,+EAA+E;IAE/E;;;;OAIG;IACH,8DAA6C,CAAA;IAE7C;;;;OAIG;IACH,gEAA+C,CAAA;IAE/C;;;;OAIG;IACH,gEAA+C,CAAA;IAE/C;;;;OAIG;IACH,gEAA+C,CAAA;IAE/C;;;;OAIG;IACH,sEAAqD,CAAA;IAErD,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;;OAIG;IACH,wDAAuC,CAAA;IAEvC;;;;OAIG;IACH,wDAAuC,CAAA;IAEvC;;;;OAIG;IACH,oEAAmD,CAAA;IAEnD;;;;OAIG;IACH,kEAAiD,CAAA;IAEjD;;OAEG;IACH,4EAA2D,CAAA;IAE3D,+EAA+E;IAC/E,mCAAmC;IACnC,+EAA+E;IAE/E;;;;OAIG;IACH,wDAAuC,CAAA;IAEvC;;;;OAIG;IACH,kEAAiD,CAAA;IAEjD;;OAEG;IACH,kEAAiD,CAAA;IAEjD;;;;OAIG;IACH,wEAAuD,CAAA;IAEvD,+EAA+E;IAC/E,+BAA+B;IAC/B,+EAA+E;IAE/E;;;;OAIG;IACH,0DAAyC,CAAA;IAEzC;;;;OAIG;IACH,oDAAmC,CAAA;IAEnC;;;;OAIG;IACH,4EAA2D,CAAA;IAE3D,+EAA+E;IAC/E,2CAA2C;IAC3C,+EAA+E;IAE/E;;;;OAIG;IACH,4EAA2D,CAAA;IAE3D;;;;OAIG;IACH,4EAA2D,CAAA;IAE3D;;;;OAIG;IACH,4EAA2D,CAAA;IAE3D,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;OAEG;IACH,iDAAgC,CAAA;IAEhC;;;;OAIG;IACH,kDAAiC,CAAA;IAEjC;;;;OAIG;IACH,wCAAuB,CAAA;IAEvB;;;;OAIG;IACH,4DAA2C,CAAA;IAE3C,+EAA+E;IAC/E,mCAAmC;IACnC,+EAA+E;IAE/E;;;;;;;;;;OAUG;IACH,sEAAqD,CAAA;AACvD,CAAC,EAxaW,aAAa,6BAAb,aAAa,QAwaxB"}
@@ -1,11 +1,85 @@
1
+ /**
2
+ * MFA Method Enum
3
+ *
4
+ * Defines all supported Multi-Factor Authentication methods.
5
+ * Used throughout the codebase to ensure type safety and consistency.
6
+ *
7
+ * **Device Methods** (require device setup):
8
+ * - TOTP: Time-based One-Time Password (authenticator apps)
9
+ * - SMS: SMS verification codes
10
+ * - EMAIL: Email verification codes
11
+ * - PASSKEY: WebAuthn/FIDO2 passkeys (biometric, security keys)
12
+ *
13
+ * **Verification Methods** (available for verification):
14
+ * - Includes all device methods
15
+ * - BACKUP: Backup recovery codes (single-use codes, not a device)
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * import { MFAMethod, MFADeviceMethod, MFAVerificationMethod } from '@nauth-toolkit/core';
20
+ *
21
+ * // Device methods only
22
+ * const deviceMethod: MFADeviceMethod = MFAMethod.TOTP;
23
+ *
24
+ * // Verification methods (includes backup)
25
+ * const verificationMethod: MFAVerificationMethod = MFAMethod.BACKUP;
26
+ *
27
+ * // Check if method is a device method
28
+ * if (method !== MFAMethod.BACKUP) {
29
+ * // This is a device method
30
+ * }
31
+ * ```
32
+ */
33
+ /**
34
+ * All supported MFA methods
35
+ *
36
+ * Use this enum instead of string literals throughout the codebase.
37
+ */
1
38
  export declare enum MFAMethod {
39
+ /**
40
+ * Time-based One-Time Password
41
+ * Authenticator apps (Google Authenticator, Authy, Microsoft Authenticator, etc.)
42
+ */
2
43
  TOTP = "totp",
44
+ /**
45
+ * SMS verification codes
46
+ * Sends one-time codes via text message
47
+ */
3
48
  SMS = "sms",
49
+ /**
50
+ * Email verification codes
51
+ * Sends one-time codes via email
52
+ */
4
53
  EMAIL = "email",
54
+ /**
55
+ * WebAuthn/FIDO2 passkeys
56
+ * Biometric authentication (Face ID, Touch ID, Windows Hello)
57
+ * Hardware security keys (YubiKey, etc.)
58
+ */
5
59
  PASSKEY = "passkey",
60
+ /**
61
+ * Backup recovery codes
62
+ * Single-use recovery codes when MFA devices are unavailable
63
+ * Not a device method - only available for verification
64
+ */
6
65
  BACKUP = "backup"
7
66
  }
67
+ /**
68
+ * Device MFA methods (methods that require device setup)
69
+ *
70
+ * Excludes BACKUP as it's not a device method.
71
+ */
8
72
  export type MFADeviceMethod = MFAMethod.TOTP | MFAMethod.SMS | MFAMethod.EMAIL | MFAMethod.PASSKEY;
73
+ /**
74
+ * Verification MFA methods (all methods available for verification)
75
+ *
76
+ * Includes all device methods plus BACKUP codes.
77
+ */
9
78
  export type MFAVerificationMethod = MFADeviceMethod | MFAMethod.BACKUP;
79
+ /**
80
+ * Array of all device methods
81
+ *
82
+ * Useful for defaults and iteration.
83
+ */
10
84
  export declare const MFADeviceMethods: readonly MFADeviceMethod[];
11
85
  //# sourceMappingURL=mfa-method.enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfa-method.enum.d.ts","sourceRoot":"","sources":["../../src/enums/mfa-method.enum.ts"],"names":[],"mappings":"AAsCA,oBAAY,SAAS;IAKnB,IAAI,SAAS;IAMb,GAAG,QAAQ;IAMX,KAAK,UAAU;IAOf,OAAO,YAAY;IAOnB,MAAM,WAAW;CAClB;AAOD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;AAOnG,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;AAOvE,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAK7C,CAAC"}
1
+ {"version":3,"file":"mfa-method.enum.d.ts","sourceRoot":"","sources":["../../src/enums/mfa-method.enum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH;;;;GAIG;AACH,oBAAY,SAAS;IACnB;;;OAGG;IACH,IAAI,SAAS;IAEb;;;OAGG;IACH,GAAG,QAAQ;IAEX;;;OAGG;IACH,KAAK,UAAU;IAEf;;;;OAIG;IACH,OAAO,YAAY;IAEnB;;;;OAIG;IACH,MAAM,WAAW;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;AAEvE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAK7C,CAAC"}
@@ -1,14 +1,78 @@
1
1
  "use strict";
2
+ /**
3
+ * MFA Method Enum
4
+ *
5
+ * Defines all supported Multi-Factor Authentication methods.
6
+ * Used throughout the codebase to ensure type safety and consistency.
7
+ *
8
+ * **Device Methods** (require device setup):
9
+ * - TOTP: Time-based One-Time Password (authenticator apps)
10
+ * - SMS: SMS verification codes
11
+ * - EMAIL: Email verification codes
12
+ * - PASSKEY: WebAuthn/FIDO2 passkeys (biometric, security keys)
13
+ *
14
+ * **Verification Methods** (available for verification):
15
+ * - Includes all device methods
16
+ * - BACKUP: Backup recovery codes (single-use codes, not a device)
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { MFAMethod, MFADeviceMethod, MFAVerificationMethod } from '@nauth-toolkit/core';
21
+ *
22
+ * // Device methods only
23
+ * const deviceMethod: MFADeviceMethod = MFAMethod.TOTP;
24
+ *
25
+ * // Verification methods (includes backup)
26
+ * const verificationMethod: MFAVerificationMethod = MFAMethod.BACKUP;
27
+ *
28
+ * // Check if method is a device method
29
+ * if (method !== MFAMethod.BACKUP) {
30
+ * // This is a device method
31
+ * }
32
+ * ```
33
+ */
2
34
  Object.defineProperty(exports, "__esModule", { value: true });
3
35
  exports.MFADeviceMethods = exports.MFAMethod = void 0;
36
+ /**
37
+ * All supported MFA methods
38
+ *
39
+ * Use this enum instead of string literals throughout the codebase.
40
+ */
4
41
  var MFAMethod;
5
42
  (function (MFAMethod) {
43
+ /**
44
+ * Time-based One-Time Password
45
+ * Authenticator apps (Google Authenticator, Authy, Microsoft Authenticator, etc.)
46
+ */
6
47
  MFAMethod["TOTP"] = "totp";
48
+ /**
49
+ * SMS verification codes
50
+ * Sends one-time codes via text message
51
+ */
7
52
  MFAMethod["SMS"] = "sms";
53
+ /**
54
+ * Email verification codes
55
+ * Sends one-time codes via email
56
+ */
8
57
  MFAMethod["EMAIL"] = "email";
58
+ /**
59
+ * WebAuthn/FIDO2 passkeys
60
+ * Biometric authentication (Face ID, Touch ID, Windows Hello)
61
+ * Hardware security keys (YubiKey, etc.)
62
+ */
9
63
  MFAMethod["PASSKEY"] = "passkey";
64
+ /**
65
+ * Backup recovery codes
66
+ * Single-use recovery codes when MFA devices are unavailable
67
+ * Not a device method - only available for verification
68
+ */
10
69
  MFAMethod["BACKUP"] = "backup";
11
70
  })(MFAMethod || (exports.MFAMethod = MFAMethod = {}));
71
+ /**
72
+ * Array of all device methods
73
+ *
74
+ * Useful for defaults and iteration.
75
+ */
12
76
  exports.MFADeviceMethods = [
13
77
  MFAMethod.TOTP,
14
78
  MFAMethod.SMS,
@@ -1 +1 @@
1
- {"version":3,"file":"mfa-method.enum.js","sourceRoot":"","sources":["../../src/enums/mfa-method.enum.ts"],"names":[],"mappings":";;;AAsCA,IAAY,SAgCX;AAhCD,WAAY,SAAS;IAKnB,0BAAa,CAAA;IAMb,wBAAW,CAAA;IAMX,4BAAe,CAAA;IAOf,gCAAmB,CAAA;IAOnB,8BAAiB,CAAA;AACnB,CAAC,EAhCW,SAAS,yBAAT,SAAS,QAgCpB;AAqBY,QAAA,gBAAgB,GAA+B;IAC1D,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,GAAG;IACb,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,OAAO;CACT,CAAC"}
1
+ {"version":3,"file":"mfa-method.enum.js","sourceRoot":"","sources":["../../src/enums/mfa-method.enum.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;AAEH;;;;GAIG;AACH,IAAY,SAgCX;AAhCD,WAAY,SAAS;IACnB;;;OAGG;IACH,0BAAa,CAAA;IAEb;;;OAGG;IACH,wBAAW,CAAA;IAEX;;;OAGG;IACH,4BAAe,CAAA;IAEf;;;;OAIG;IACH,gCAAmB,CAAA;IAEnB;;;;OAIG;IACH,8BAAiB,CAAA;AACnB,CAAC,EAhCW,SAAS,yBAAT,SAAS,QAgCpB;AAgBD;;;;GAIG;AACU,QAAA,gBAAgB,GAA+B;IAC1D,SAAS,CAAC,IAAI;IACd,SAAS,CAAC,GAAG;IACb,SAAS,CAAC,KAAK;IACf,SAAS,CAAC,OAAO;CACT,CAAC"}
@@ -1,15 +1,106 @@
1
+ /**
2
+ * Risk Factor Enum
3
+ *
4
+ * Defines all possible risk factors that can be detected during authentication
5
+ * and security events. Used for type safety in risk scoring and audit logging.
6
+ *
7
+ * **Standard Risk Factors (from RiskDetectionService):**
8
+ * - `new_device`: First login from unknown device
9
+ * - `new_ip`: Login from new IP address
10
+ * - `new_country`: Login from different country
11
+ * - `impossible_travel`: Geographic distance/time anomaly
12
+ * - `suspicious_activity`: Unusual behavior patterns
13
+ *
14
+ * **Security Event Risk Factors:**
15
+ * - `token_theft_attempt`: Token theft detected
16
+ * - `refresh_token_reuse_different_session`: Refresh token reused from different session
17
+ * - `token_reuse_attempt`: Token reuse attempt detected
18
+ * - `tampered_device_token`: Device token tampering detected
19
+ * - `mfa_bypass_attempt`: MFA bypass attempt detected
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Type-safe risk factors
24
+ * const riskFactors: RiskFactor[] = [
25
+ * RiskFactor.NEW_DEVICE,
26
+ * RiskFactor.NEW_COUNTRY
27
+ * ];
28
+ *
29
+ * // Pass to audit service
30
+ * await auditService.recordEvent({
31
+ * riskFactors: [RiskFactor.NEW_DEVICE, RiskFactor.TOKEN_REUSE_ATTEMPT],
32
+ * });
33
+ * ```
34
+ */
1
35
  export declare enum RiskFactor {
36
+ /**
37
+ * First login from unknown device
38
+ * Weight: 25 points (default)
39
+ */
2
40
  NEW_DEVICE = "new_device",
41
+ /**
42
+ * Login from new IP address
43
+ * Weight: 15 points (default)
44
+ * Note: Automatically excluded if new_country or impossible_travel is detected
45
+ */
3
46
  NEW_IP = "new_ip",
47
+ /**
48
+ * Login from different country
49
+ * Weight: 25 points (default)
50
+ */
4
51
  NEW_COUNTRY = "new_country",
52
+ /**
53
+ * Geographic distance/time anomaly (impossible travel)
54
+ * Weight: 40 points (default)
55
+ */
5
56
  IMPOSSIBLE_TRAVEL = "impossible_travel",
57
+ /**
58
+ * Unusual behavior patterns (suspicious activity)
59
+ * Weight: 30 points (default)
60
+ */
6
61
  SUSPICIOUS_ACTIVITY = "suspicious_activity",
62
+ /**
63
+ * Incomplete location data (missing city/coordinates)
64
+ * Weight: 20 points (default)
65
+ * Added when location detection is impaired, reducing confidence in risk assessment
66
+ */
7
67
  INCOMPLETE_LOCATION_DATA = "incomplete_location_data",
68
+ /**
69
+ * Password was reset/changed after the user's last successful login
70
+ * Weight: 40 points (default)
71
+ *
72
+ * This is a strong signal of account recovery activity. Industry-leading providers
73
+ * typically treat \"post-reset sign-in\" as higher risk and require step-up auth
74
+ * when adaptive MFA is enabled.
75
+ *
76
+ * Detection strategy (implementation detail):
77
+ * - If passwordChangedAt > lastLoginAt, user has not logged in since the reset.
78
+ */
8
79
  RECENT_PASSWORD_RESET = "recent_password_reset",
80
+ /**
81
+ * Token theft detected
82
+ * Used when refresh token reuse is detected from different session
83
+ */
9
84
  TOKEN_THEFT_ATTEMPT = "token_theft_attempt",
85
+ /**
86
+ * Refresh token reused from different session
87
+ * Indicates potential token theft or session hijacking
88
+ */
10
89
  REFRESH_TOKEN_REUSE_DIFFERENT_SESSION = "refresh_token_reuse_different_session",
90
+ /**
91
+ * Token reuse attempt detected
92
+ * Used when token reuse is blocked via atomic operations
93
+ */
11
94
  TOKEN_REUSE_ATTEMPT = "token_reuse_attempt",
95
+ /**
96
+ * Device token tampering detected
97
+ * Used when device token is provided but not found in trusted devices
98
+ */
12
99
  TAMPERED_DEVICE_TOKEN = "tampered_device_token",
100
+ /**
101
+ * MFA bypass attempt detected
102
+ * Used when invalid/tampered device token is provided during MFA verification
103
+ */
13
104
  MFA_BYPASS_ATTEMPT = "mfa_bypass_attempt"
14
105
  }
15
106
  //# sourceMappingURL=risk-factor.enum.d.ts.map