@nauth-toolkit/core 0.1.14 → 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
@@ -2,12 +2,66 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContextStorage = void 0;
4
4
  const async_hooks_1 = require("async_hooks");
5
+ /**
6
+ * Context Storage - Platform-Agnostic Async Local Storage
7
+ *
8
+ * Provides request-scoped storage using Node.js AsyncLocalStorage.
9
+ * Replaces nestjs-cls for platform-agnostic context management.
10
+ *
11
+ * **Features:**
12
+ * - Request-scoped data storage
13
+ * - Works across async boundaries
14
+ * - No framework dependencies
15
+ * - Type-safe storage and retrieval
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Store data in context
20
+ * ContextStorage.run(() => {
21
+ * ContextStorage.set('userId', '123');
22
+ * ContextStorage.set('clientInfo', { ip: '1.2.3.4' });
23
+ *
24
+ * // Access from any nested function
25
+ * const userId = ContextStorage.get<string>('userId');
26
+ * });
27
+ * ```
28
+ */
5
29
  class ContextStorage {
6
30
  static als = new async_hooks_1.AsyncLocalStorage();
31
+ /**
32
+ * Run a callback within a new context
33
+ *
34
+ * Creates a new async local storage context for the callback.
35
+ * All ContextStorage operations within the callback will use this context.
36
+ *
37
+ * @param callback - Function to execute with context
38
+ * @returns Result of the callback
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const result = ContextStorage.run(() => {
43
+ * ContextStorage.set('key', 'value');
44
+ * return processRequest();
45
+ * });
46
+ * ```
47
+ */
7
48
  static run(callback) {
8
49
  const store = new Map();
9
50
  return this.als.run(store, callback);
10
51
  }
52
+ /**
53
+ * Store a value in the current context
54
+ *
55
+ * @param key - Storage key
56
+ * @param value - Value to store
57
+ * @throws Error if called outside of a context (ContextStorage.run not called)
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * ContextStorage.set('userId', '123');
62
+ * ContextStorage.set('clientInfo', { ip: '1.2.3.4', userAgent: 'Mozilla...' });
63
+ * ```
64
+ */
11
65
  static set(key, value) {
12
66
  const store = this.als.getStore();
13
67
  if (!store) {
@@ -15,14 +69,50 @@ class ContextStorage {
15
69
  }
16
70
  store.set(key, value);
17
71
  }
72
+ /**
73
+ * Retrieve a value from the current context
74
+ *
75
+ * @param key - Storage key
76
+ * @returns Stored value or undefined if not found
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * const userId = ContextStorage.get<string>('userId');
81
+ * const clientInfo = ContextStorage.get<ClientInfo>('CLIENT_INFO');
82
+ * ```
83
+ */
18
84
  static get(key) {
19
85
  const store = this.als.getStore();
20
86
  return store?.get(key);
21
87
  }
88
+ /**
89
+ * Check if a key exists in the current context
90
+ *
91
+ * @param key - Storage key
92
+ * @returns True if key exists, false otherwise
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * if (ContextStorage.has('userId')) {
97
+ * const userId = ContextStorage.get<string>('userId');
98
+ * }
99
+ * ```
100
+ */
22
101
  static has(key) {
23
102
  const store = this.als.getStore();
24
103
  return store?.has(key) || false;
25
104
  }
105
+ /**
106
+ * Delete a value from the current context
107
+ *
108
+ * @param key - Storage key
109
+ * @returns True if key was deleted, false if it didn't exist
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * ContextStorage.delete('temporaryData');
114
+ * ```
115
+ */
26
116
  static delete(key) {
27
117
  const store = this.als.getStore();
28
118
  if (!store) {
@@ -30,12 +120,31 @@ class ContextStorage {
30
120
  }
31
121
  return store.delete(key);
32
122
  }
123
+ /**
124
+ * Clear all values from the current context
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * ContextStorage.clear();
129
+ * ```
130
+ */
33
131
  static clear() {
34
132
  const store = this.als.getStore();
35
133
  if (store) {
36
134
  store.clear();
37
135
  }
38
136
  }
137
+ /**
138
+ * Get all keys in the current context
139
+ *
140
+ * @returns Array of storage keys
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const keys = ContextStorage.keys();
145
+ * console.log('Stored keys:', keys);
146
+ * ```
147
+ */
39
148
  static keys() {
40
149
  const store = this.als.getStore();
41
150
  if (!store) {
@@ -43,9 +152,29 @@ class ContextStorage {
43
152
  }
44
153
  return Array.from(store.keys());
45
154
  }
155
+ /**
156
+ * Get the current store instance
157
+ *
158
+ * This is useful for frameworks like Fastify where hooks run independently
159
+ * and you need to preserve the store across hook boundaries.
160
+ *
161
+ * @returns The current Map store or undefined
162
+ * @internal
163
+ */
46
164
  static getStore() {
47
165
  return this.als.getStore();
48
166
  }
167
+ /**
168
+ * Enter an existing context store
169
+ *
170
+ * This allows re-entering a context that was created elsewhere,
171
+ * useful for frameworks where handlers run in separate scopes.
172
+ *
173
+ * @param store - The store to enter
174
+ * @param callback - Function to execute with the store
175
+ * @returns Result of the callback
176
+ * @internal
177
+ */
49
178
  static enterStore(store, callback) {
50
179
  return this.als.run(store, callback);
51
180
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-storage.js","sourceRoot":"","sources":["../../src/utils/context-storage.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AA0BhD,MAAa,cAAc;IACjB,MAAM,CAAC,GAAG,GAAG,IAAI,+BAAiB,EAAwB,CAAC;IAmBnE,MAAM,CAAC,GAAG,CAAI,QAAiB;QAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAeD,MAAM,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAcD,MAAM,CAAC,GAAG,CAAI,GAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAeD,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;IAClC,CAAC;IAaD,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAUD,MAAM,CAAC,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAaD,MAAM,CAAC,IAAI;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAWD,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAaD,MAAM,CAAC,UAAU,CAAI,KAA2B,EAAE,QAAiB;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;;AAhKH,wCAiKC"}
1
+ {"version":3,"file":"context-storage.js","sourceRoot":"","sources":["../../src/utils/context-storage.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,cAAc;IACjB,MAAM,CAAC,GAAG,GAAG,IAAI,+BAAiB,EAAwB,CAAC;IAEnE;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,GAAG,CAAI,QAAiB;QAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAI,GAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,GAAG,CAAC,GAAW;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,UAAU,CAAI,KAA2B,EAAE,QAAiB;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;;AAhKH,wCAiKC"}
@@ -1,7 +1,42 @@
1
+ /**
2
+ * Cookie Name Utilities
3
+ *
4
+ * Provides consistent cookie name generation using the configured prefix.
5
+ * All cookie names are prefixed to avoid conflicts with other cookies.
6
+ */
1
7
  import { NAuthConfig } from '../interfaces/config.interface';
8
+ /**
9
+ * Get the cookie name prefix from config
10
+ * @param config - NAuth configuration
11
+ * @returns Cookie name prefix (default: 'nauth_')
12
+ */
2
13
  export declare function getCookieNamePrefix(config?: NAuthConfig): string;
14
+ /**
15
+ * Get the access token cookie name
16
+ * @param config - NAuth configuration
17
+ * @returns Access token cookie name (default: 'nauth_access_token')
18
+ */
3
19
  export declare function getAccessTokenCookieName(config?: NAuthConfig): string;
20
+ /**
21
+ * Get the refresh token cookie name
22
+ * @param config - NAuth configuration
23
+ * @returns Refresh token cookie name (default: 'nauth_refresh_token')
24
+ */
4
25
  export declare function getRefreshTokenCookieName(config?: NAuthConfig): string;
26
+ /**
27
+ * Get the device token cookie name
28
+ * @param config - NAuth configuration
29
+ * @returns Device token cookie name (default: 'nauth_device_token')
30
+ */
5
31
  export declare function getDeviceTokenCookieName(config?: NAuthConfig): string;
32
+ /**
33
+ * Get the CSRF token cookie name
34
+ *
35
+ * If explicitly configured via security.csrf.cookieName, uses that value.
36
+ * Otherwise, uses the prefix: `${prefix}csrf_token`
37
+ *
38
+ * @param config - NAuth configuration
39
+ * @returns CSRF token cookie name (default: 'nauth_csrf_token')
40
+ */
6
41
  export declare function getCsrfTokenCookieName(config?: NAuthConfig): string;
7
42
  //# sourceMappingURL=cookie-names.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-names.util.d.ts","sourceRoot":"","sources":["../../src/utils/cookie-names.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAO7D,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAEhE;AAOD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGrE;AAOD,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGtE;AAOD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGrE;AAWD,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CASnE"}
1
+ {"version":3,"file":"cookie-names.util.d.ts","sourceRoot":"","sources":["../../src/utils/cookie-names.util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGtE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAGrE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CASnE"}
@@ -1,29 +1,66 @@
1
1
  "use strict";
2
+ /**
3
+ * Cookie Name Utilities
4
+ *
5
+ * Provides consistent cookie name generation using the configured prefix.
6
+ * All cookie names are prefixed to avoid conflicts with other cookies.
7
+ */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.getCookieNamePrefix = getCookieNamePrefix;
4
10
  exports.getAccessTokenCookieName = getAccessTokenCookieName;
5
11
  exports.getRefreshTokenCookieName = getRefreshTokenCookieName;
6
12
  exports.getDeviceTokenCookieName = getDeviceTokenCookieName;
7
13
  exports.getCsrfTokenCookieName = getCsrfTokenCookieName;
14
+ /**
15
+ * Get the cookie name prefix from config
16
+ * @param config - NAuth configuration
17
+ * @returns Cookie name prefix (default: 'nauth_')
18
+ */
8
19
  function getCookieNamePrefix(config) {
9
20
  return config?.tokenDelivery?.cookieNamePrefix || 'nauth_';
10
21
  }
22
+ /**
23
+ * Get the access token cookie name
24
+ * @param config - NAuth configuration
25
+ * @returns Access token cookie name (default: 'nauth_access_token')
26
+ */
11
27
  function getAccessTokenCookieName(config) {
12
28
  const prefix = getCookieNamePrefix(config);
13
29
  return `${prefix}access_token`;
14
30
  }
31
+ /**
32
+ * Get the refresh token cookie name
33
+ * @param config - NAuth configuration
34
+ * @returns Refresh token cookie name (default: 'nauth_refresh_token')
35
+ */
15
36
  function getRefreshTokenCookieName(config) {
16
37
  const prefix = getCookieNamePrefix(config);
17
38
  return `${prefix}refresh_token`;
18
39
  }
40
+ /**
41
+ * Get the device token cookie name
42
+ * @param config - NAuth configuration
43
+ * @returns Device token cookie name (default: 'nauth_device_token')
44
+ */
19
45
  function getDeviceTokenCookieName(config) {
20
46
  const prefix = getCookieNamePrefix(config);
21
47
  return `${prefix}device_token`;
22
48
  }
49
+ /**
50
+ * Get the CSRF token cookie name
51
+ *
52
+ * If explicitly configured via security.csrf.cookieName, uses that value.
53
+ * Otherwise, uses the prefix: `${prefix}csrf_token`
54
+ *
55
+ * @param config - NAuth configuration
56
+ * @returns CSRF token cookie name (default: 'nauth_csrf_token')
57
+ */
23
58
  function getCsrfTokenCookieName(config) {
59
+ // If explicitly configured, use it
24
60
  if (config?.security?.csrf?.cookieName) {
25
61
  return config.security.csrf.cookieName;
26
62
  }
63
+ // Otherwise, use prefix
27
64
  const prefix = getCookieNamePrefix(config);
28
65
  return `${prefix}csrf_token`;
29
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-names.util.js","sourceRoot":"","sources":["../../src/utils/cookie-names.util.ts"],"names":[],"mappings":";;AAcA,kDAEC;AAOD,4DAGC;AAOD,8DAGC;AAOD,4DAGC;AAWD,wDASC;AApDD,SAAgB,mBAAmB,CAAC,MAAoB;IACtD,OAAO,MAAM,EAAE,aAAa,EAAE,gBAAgB,IAAI,QAAQ,CAAC;AAC7D,CAAC;AAOD,SAAgB,wBAAwB,CAAC,MAAoB;IAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,cAAc,CAAC;AACjC,CAAC;AAOD,SAAgB,yBAAyB,CAAC,MAAoB;IAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,eAAe,CAAC;AAClC,CAAC;AAOD,SAAgB,wBAAwB,CAAC,MAAoB;IAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,cAAc,CAAC;AACjC,CAAC;AAWD,SAAgB,sBAAsB,CAAC,MAAoB;IAEzD,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IAGD,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,YAAY,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"cookie-names.util.js","sourceRoot":"","sources":["../../src/utils/cookie-names.util.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AASH,kDAEC;AAOD,4DAGC;AAOD,8DAGC;AAOD,4DAGC;AAWD,wDASC;AAzDD;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,MAAoB;IACtD,OAAO,MAAM,EAAE,aAAa,EAAE,gBAAgB,IAAI,QAAQ,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,MAAoB;IAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,cAAc,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,MAAoB;IAC5D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,eAAe,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,MAAoB;IAC3D,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,cAAc,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAAC,MAAoB;IACzD,mCAAmC;IACnC,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;IACzC,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,GAAG,MAAM,YAAY,CAAC;AAC/B,CAAC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Cookie Utilities
3
+ *
4
+ * Helpers for clearing nauth auth cookies in HTTP responses.
5
+ */
1
6
  import { NAuthConfig } from '../interfaces/config.interface';
2
7
  export interface CookieOptions {
3
8
  domain?: string;
@@ -5,6 +10,20 @@ export interface CookieOptions {
5
10
  secure?: boolean;
6
11
  sameSite?: 'strict' | 'lax' | 'none';
7
12
  }
13
+ /**
14
+ * Clear nauth auth cookies on the response.
15
+ *
16
+ * - Clears access token, refresh token, CSRF token cookies
17
+ * - Optionally clears device token cookie (only when forgetDevice=true)
18
+ * - Device token cookies persist across logout by default (remember device feature)
19
+ * - Applies security attributes consistent with how cookies were set
20
+ * - Uses configured cookie name prefix (default: 'nauth_')
21
+ *
22
+ * @param res - HTTP response object (Express or Fastify compatible)
23
+ * @param config - NAuth configuration (optional, for cookie name resolution)
24
+ * @param opt - Optional cookie options to match configured attributes
25
+ * @param forgetDevice - If true, also clears device token cookie (for "forget me" logout). Default: false
26
+ */
8
27
  export declare function clearAuthCookies(res: {
9
28
  cookie?: Function;
10
29
  setCookie?: Function;
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.util.d.ts","sourceRoot":"","sources":["../../src/utils/cookies.util.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAQ7D,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC;AAgBD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,CAAA;CAAE,EAChD,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,EACpC,GAAG,CAAC,EAAE,aAAa,EACnB,YAAY,GAAE,OAAe,GAC5B,IAAI,CAqDN"}
1
+ {"version":3,"file":"cookies.util.d.ts","sourceRoot":"","sources":["../../src/utils/cookies.util.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAQ7D,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,CAAA;CAAE,EAChD,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,EACpC,GAAG,CAAC,EAAE,aAAa,EACnB,YAAY,GAAE,OAAe,GAC5B,IAAI,CAqDN"}
@@ -1,15 +1,37 @@
1
1
  "use strict";
2
+ /**
3
+ * Cookie Utilities
4
+ *
5
+ * Helpers for clearing nauth auth cookies in HTTP responses.
6
+ */
2
7
  Object.defineProperty(exports, "__esModule", { value: true });
3
8
  exports.clearAuthCookies = clearAuthCookies;
4
9
  const cookie_names_util_1 = require("./cookie-names.util");
10
+ /**
11
+ * Clear nauth auth cookies on the response.
12
+ *
13
+ * - Clears access token, refresh token, CSRF token cookies
14
+ * - Optionally clears device token cookie (only when forgetDevice=true)
15
+ * - Device token cookies persist across logout by default (remember device feature)
16
+ * - Applies security attributes consistent with how cookies were set
17
+ * - Uses configured cookie name prefix (default: 'nauth_')
18
+ *
19
+ * @param res - HTTP response object (Express or Fastify compatible)
20
+ * @param config - NAuth configuration (optional, for cookie name resolution)
21
+ * @param opt - Optional cookie options to match configured attributes
22
+ * @param forgetDevice - If true, also clears device token cookie (for "forget me" logout). Default: false
23
+ */
5
24
  function clearAuthCookies(res, config, opt, forgetDevice = false) {
25
+ // Handle old signature: clearAuthCookies(res, opt) where opt might be config or CookieOptions
6
26
  let cookieOptions;
7
27
  let nauthConfig;
8
28
  if (config && 'tokenDelivery' in config) {
29
+ // Second param is NAuthConfig
9
30
  nauthConfig = config;
10
31
  cookieOptions = opt;
11
32
  }
12
33
  else {
34
+ // Second param is CookieOptions (backward compatibility)
13
35
  cookieOptions = config;
14
36
  }
15
37
  const base = {
@@ -24,24 +46,29 @@ function clearAuthCookies(res, config, opt, forgetDevice = false) {
24
46
  const refreshTokenName = (0, cookie_names_util_1.getRefreshTokenCookieName)(nauthConfig);
25
47
  const csrfTokenName = (0, cookie_names_util_1.getCsrfTokenCookieName)(nauthConfig);
26
48
  const deviceTokenName = (0, cookie_names_util_1.getDeviceTokenCookieName)(nauthConfig);
49
+ // CSRF cookie options (httpOnly: false, matches how it was set)
27
50
  const csrfBase = {
28
51
  ...base,
29
- httpOnly: false,
52
+ httpOnly: false, // CSRF token must be readable by JavaScript
30
53
  };
31
54
  if (typeof res.cookie === 'function') {
32
55
  res.cookie(accessTokenName, '', base);
33
56
  res.cookie(refreshTokenName, '', base);
34
57
  res.cookie(csrfTokenName, '', csrfBase);
58
+ // Only clear device token cookie if forgetDevice=true (for "forget me" logout)
59
+ // Device tokens persist across normal logout (remember device feature)
35
60
  if (forgetDevice) {
36
- res.cookie(deviceTokenName, '', base);
61
+ res.cookie(deviceTokenName, '', base); // Device token cookie (httpOnly: true)
37
62
  }
38
63
  }
39
64
  else if (typeof res.setCookie === 'function') {
40
65
  res.setCookie(accessTokenName, '', base);
41
66
  res.setCookie(refreshTokenName, '', base);
42
67
  res.setCookie(csrfTokenName, '', csrfBase);
68
+ // Only clear device token cookie if forgetDevice=true (for "forget me" logout)
69
+ // Device tokens persist across normal logout (remember device feature)
43
70
  if (forgetDevice) {
44
- res.setCookie(deviceTokenName, '', base);
71
+ res.setCookie(deviceTokenName, '', base); // Device token cookie (httpOnly: true)
45
72
  }
46
73
  }
47
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.util.js","sourceRoot":"","sources":["../../src/utils/cookies.util.ts"],"names":[],"mappings":";;AAmCA,4CA0DC;AAtFD,2DAK6B;AAuB7B,SAAgB,gBAAgB,CAC9B,GAAgD,EAChD,MAAoC,EACpC,GAAmB,EACnB,eAAwB,KAAK;IAG7B,IAAI,aAAwC,CAAC;IAC7C,IAAI,WAAoC,CAAC;IAEzC,IAAI,MAAM,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;QAExC,WAAW,GAAG,MAAqB,CAAC;QACpC,aAAa,GAAG,GAAG,CAAC;IACtB,CAAC;SAAM,CAAC;QAEN,aAAa,GAAG,MAAmC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAa;QACvB,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,KAAK;QACvC,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,IAAI,QAAQ,CAA8B;QAC5E,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,GAAG;QAChC,MAAM,EAAE,aAAa,EAAE,MAAM;QAC7B,MAAM,EAAE,CAAC;KACV,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,4CAAwB,EAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAA,6CAAyB,EAAC,WAAW,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAA,0CAAsB,EAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAA,4CAAwB,EAAC,WAAW,CAAC,CAAC;IAG9D,MAAM,QAAQ,GAAG;QACf,GAAG,IAAI;QACP,QAAQ,EAAE,KAAc;KACzB,CAAC;IAEF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAGxC,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAG3C,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cookies.util.js","sourceRoot":"","sources":["../../src/utils/cookies.util.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA+BH,4CA0DC;AAtFD,2DAK6B;AAS7B;;;;;;;;;;;;;GAaG;AACH,SAAgB,gBAAgB,CAC9B,GAAgD,EAChD,MAAoC,EACpC,GAAmB,EACnB,eAAwB,KAAK;IAE7B,8FAA8F;IAC9F,IAAI,aAAwC,CAAC;IAC7C,IAAI,WAAoC,CAAC;IAEzC,IAAI,MAAM,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;QACxC,8BAA8B;QAC9B,WAAW,GAAG,MAAqB,CAAC;QACpC,aAAa,GAAG,GAAG,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,yDAAyD;QACzD,aAAa,GAAG,MAAmC,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,IAAa;QACvB,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,KAAK;QACvC,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,IAAI,QAAQ,CAA8B;QAC5E,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,GAAG;QAChC,MAAM,EAAE,aAAa,EAAE,MAAM;QAC7B,MAAM,EAAE,CAAC;KACV,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,4CAAwB,EAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAA,6CAAyB,EAAC,WAAW,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,IAAA,0CAAsB,EAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAA,4CAAwB,EAAC,WAAW,CAAC,CAAC;IAE9D,gEAAgE;IAChE,MAAM,QAAQ,GAAG;QACf,GAAG,IAAI;QACP,QAAQ,EAAE,KAAc,EAAE,4CAA4C;KACvE,CAAC;IAEF,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxC,+EAA+E;QAC/E,uEAAuE;QACvE,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,uCAAuC;QAChF,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3C,+EAA+E;QAC/E,uEAAuE;QACvE,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,uCAAuC;QACnF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Utility Functions and Classes
3
+ */
1
4
  export * from './pii-redactor';
2
5
  export * from './ip-extractor';
3
6
  export * from './nauth-logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ /**
3
+ * Utility Functions and Classes
4
+ */
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -21,4 +24,5 @@ __exportStar(require("./cookies.util"), exports);
21
24
  __exportStar(require("./cookie-names.util"), exports);
22
25
  __exportStar(require("./context-storage"), exports);
23
26
  __exportStar(require("./token-delivery-policy"), exports);
27
+ // user-agent-parser removed - functionality moved to ClientInfoService.parseUserAgent()
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,0DAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,0DAAwC;AACxC,wFAAwF"}
@@ -1,8 +1,66 @@
1
+ /**
2
+ * IP Address Extractor
3
+ *
4
+ * Extracts the real client IP address from requests, handling:
5
+ * - Direct connections
6
+ * - Reverse proxies (Nginx, Apache)
7
+ * - Load balancers (AWS ALB/NLB, GCP, Azure)
8
+ * - CDNs (Cloudflare, Fastly, Akamai)
9
+ *
10
+ * **Priority Order:**
11
+ * 1. X-Forwarded-For (standard proxy header)
12
+ * 2. CF-Connecting-IP (Cloudflare)
13
+ * 3. X-Real-IP (Nginx proxy)
14
+ * 4. X-Client-IP (Apache, other proxies)
15
+ * 5. Fastly-Client-IP (Fastly CDN)
16
+ * 6. Akamai-Origin-Hop (Akamai CDN)
17
+ * 7. req.ip (NestJS/Express default)
18
+ * 8. req.socket.remoteAddress (fallback)
19
+ *
20
+ * **Security:**
21
+ * - Handles multiple proxies (takes leftmost IP)
22
+ * - Validates IP format
23
+ * - Filters private/internal IPs (optional)
24
+ * - Prevents IP spoofing
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { extractClientIp } from '@nauth-toolkit/core/utils';
29
+ *
30
+ * @Post('login')
31
+ * async login(@Req() req: Request) {
32
+ * const ipAddress = extractClientIp(req);
33
+ * logger.debug('Client IP:', ipAddress); // Real client IP
34
+ * }
35
+ * ```
36
+ */
37
+ /**
38
+ * Options for IP extraction
39
+ */
1
40
  export interface IpExtractorOptions {
41
+ /**
42
+ * Whether to filter out private/internal IP addresses
43
+ * Defaults to false
44
+ */
2
45
  filterPrivateIps?: boolean;
46
+ /**
47
+ * List of trusted proxy IP addresses or CIDR ranges
48
+ * If specified, only accepts X-Forwarded-For from these proxies
49
+ */
3
50
  trustedProxies?: string[];
51
+ /**
52
+ * Whether to use the leftmost IP in X-Forwarded-For
53
+ * (true = original client, false = rightmost/last proxy)
54
+ * Defaults to true
55
+ */
4
56
  useLeftmostIp?: boolean;
5
57
  }
58
+ /**
59
+ * Minimal request shape required for IP extraction.
60
+ *
61
+ * We keep this intentionally framework-agnostic (no Express/Fastify types) to avoid
62
+ * adding hard dependencies from core.
63
+ */
6
64
  interface IpRequestLike extends Record<string, unknown> {
7
65
  headers?: Record<string, unknown>;
8
66
  ip?: string;
@@ -13,8 +71,38 @@ interface IpRequestLike extends Record<string, unknown> {
13
71
  remoteAddress?: string;
14
72
  };
15
73
  }
74
+ /**
75
+ * Extracts the real client IP address from an HTTP request
76
+ *
77
+ * @param req - Express Request object
78
+ * @param options - Optional configuration
79
+ * @returns The client's IP address, or '0.0.0.0' if unable to determine
80
+ */
16
81
  export declare function extractClientIp(req: IpRequestLike, options?: IpExtractorOptions): string;
82
+ /**
83
+ * Checks if an IP address is private/internal
84
+ *
85
+ * Detects:
86
+ * - Localhost (127.0.0.0/8, ::1)
87
+ * - Private IPv4 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
88
+ * - Link-local addresses (169.254.0.0/16)
89
+ *
90
+ * @param ip - IP address to check
91
+ * @returns True if private, false otherwise
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * isPrivateIp('192.168.1.1'); // true
96
+ * isPrivateIp('8.8.8.8'); // false
97
+ * ```
98
+ */
17
99
  export declare function isPrivateIp(ip: string): boolean;
100
+ /**
101
+ * Gets geolocation information for an IP address (placeholder)
102
+ *
103
+ * @param ip - IP address
104
+ * @returns Geolocation info (to be implemented with MaxMind/IP-API)
105
+ */
18
106
  export declare function getIpGeolocation(_ip: string): {
19
107
  country?: string;
20
108
  city?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ip-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/ip-extractor.ts"],"names":[],"mappings":"AA0CA,MAAM,WAAW,kBAAkB;IAKjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAO1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAQD,UAAU,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,UAAU,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AASD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA8D5F;AA8DD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAe/C;AAQD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAGjF"}
1
+ {"version":3,"file":"ip-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/ip-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,UAAU,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,UAAU,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CA8D5F;AA6CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAe/C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAGjF"}