@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
@@ -1 +1 @@
1
- {"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../src/services/session.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../src/services/session.service.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,44 @@ import { NAuthLogger } from '../utils/nauth-logger';
15
15
  import { AuthResponseDTO } from '../dto';
16
16
  import { OAuthUserProfile } from '../interfaces/oauth.interface';
17
17
  import { ISocialAuthProviderService } from '../interfaces/social-auth-provider.interface';
18
+ /**
19
+ * Base Social Auth Provider Service
20
+ *
21
+ * Abstract base class that provides common functionality for all social auth providers.
22
+ * Provider-specific services (Google, Apple, Facebook, GitHub, etc.) should extend this class
23
+ * and implement provider-specific OAuth client logic.
24
+ *
25
+ * This base class handles:
26
+ * - User creation/lookup
27
+ * - Social account linking
28
+ * - JWT token generation
29
+ * - Session management
30
+ * - Challenge system integration
31
+ *
32
+ * **Key Design:**
33
+ * - No hardcoded provider names - works with any provider
34
+ * - Provider config accessed dynamically via `providerName`
35
+ * - Future developers can add new providers without modifying this class
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * @Injectable()
40
+ * export class GitHubSocialAuthService extends BaseSocialAuthProviderService {
41
+ * readonly providerName = 'github';
42
+ *
43
+ * constructor(
44
+ * // ... dependencies
45
+ * private readonly githubOAuthClient: GitHubOAuthClient,
46
+ * ) {
47
+ * super(/* ... base dependencies *\/);
48
+ * }
49
+ *
50
+ * protected async getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile> {
51
+ * // Provider-specific implementation
52
+ * }
53
+ * }
54
+ * ```
55
+ */
18
56
  export declare abstract class BaseSocialAuthProviderService implements ISocialAuthProviderService {
19
57
  protected readonly config: NAuthConfig;
20
58
  protected readonly logger: NAuthLogger;
@@ -36,22 +74,106 @@ export declare abstract class BaseSocialAuthProviderService implements ISocialAu
36
74
  constructor(config: NAuthConfig, logger: NAuthLogger, authService: AuthService, socialAuthService: SocialAuthService, jwtService: JwtService, sessionService: SessionService, challengeHelper: AuthChallengeHelperService, clientInfoService: ClientInfoService, stateStore: Map<string, {
37
75
  timestamp: number;
38
76
  provider: string;
39
- }>, userRepository: Repository<BaseUser>, phoneVerificationService?: PhoneVerificationService | undefined, auditService?: AuthAuditService | undefined, trustedDeviceService?: TrustedDeviceService | undefined);
77
+ }>, userRepository: Repository<BaseUser>, phoneVerificationService?: PhoneVerificationService | undefined, auditService?: AuthAuditService | undefined, // Optional - audit trail service (enabled via config.auditLogs.enabled)
78
+ trustedDeviceService?: TrustedDeviceService | undefined);
79
+ /**
80
+ * Get provider configuration dynamically
81
+ *
82
+ * Accesses config.social[providerName] without hardcoding provider names.
83
+ * This allows any provider to work without modifying core code.
84
+ *
85
+ * @returns Provider configuration from NAuthConfig
86
+ * @protected
87
+ */
40
88
  protected getProviderConfig(): SocialProviderConfig | null;
89
+ /**
90
+ * Generate OAuth authorization URL for this provider
91
+ *
92
+ * Must be implemented by provider-specific services to generate the OAuth URL.
93
+ *
94
+ * @param state - Optional state parameter for CSRF protection
95
+ * @returns Authorization URL to redirect user to
96
+ * @throws {BadRequestException} When provider is not properly configured
97
+ */
41
98
  abstract getAuthUrl(state?: string): Promise<string>;
99
+ /**
100
+ * Get user profile from OAuth callback
101
+ *
102
+ * Must be implemented by provider-specific services to exchange code for tokens
103
+ * and fetch user profile.
104
+ *
105
+ * @param code - Authorization code from OAuth callback
106
+ * @param state - State parameter from OAuth callback
107
+ * @returns OAuth user profile
108
+ * @protected
109
+ */
42
110
  protected abstract getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile>;
111
+ /**
112
+ * Verify social authentication token from native mobile apps
113
+ *
114
+ * Must be implemented by provider-specific services to verify ID tokens.
115
+ *
116
+ * @param idToken - ID token from native SDK
117
+ * @param accessToken - Optional access token from native SDK
118
+ * @param profileData - Optional profile data from native SDK
119
+ * @returns OAuth user profile
120
+ * @protected
121
+ */
43
122
  protected abstract verifyNativeToken(idToken: string, accessToken?: string, profileData?: Record<string, unknown>): Promise<OAuthUserProfile>;
123
+ /**
124
+ * Handle OAuth callback and authenticate user
125
+ *
126
+ * Uses the provider-specific getOAuthProfile method and then handles
127
+ * user creation, session management, and token generation.
128
+ */
44
129
  handleCallback(code: string, state: string): Promise<AuthResponseDTO>;
130
+ /**
131
+ * Verify social authentication token from native mobile apps
132
+ */
45
133
  verifyToken(idToken: string, accessToken?: string, profileData?: Record<string, unknown>): Promise<AuthResponseDTO>;
134
+ /**
135
+ * Link social account to existing user
136
+ */
46
137
  linkAccount(userId: string, code: string, state: string): Promise<{
47
138
  message: string;
48
139
  }>;
140
+ /**
141
+ * Get OAuth user profile from callback
142
+ *
143
+ * Alias for getOAuthProfile for interface compliance.
144
+ */
49
145
  getUserProfileFromCallback(code: string, state: string): Promise<OAuthUserProfile>;
146
+ /**
147
+ * Validate state parameter for CSRF protection
148
+ */
50
149
  protected validateState(state: string): void;
150
+ /**
151
+ * Generate random state for CSRF protection
152
+ */
51
153
  protected generateState(): string;
154
+ /**
155
+ * Find existing user or create new one
156
+ */
52
157
  protected findOrCreateUser(profile: OAuthUserProfile, providerConfig: SocialProviderConfig): Promise<IUser>;
158
+ /**
159
+ * Create a social-only user (no password)
160
+ *
161
+ * @param email - User email
162
+ * @param firstName - Optional first name
163
+ * @param lastName - Optional last name
164
+ * @param isEmailVerified - Whether email is verified (default: true)
165
+ * @param socialProvider - Initial social provider name
166
+ * @returns Created user
167
+ * @protected
168
+ */
53
169
  protected createSocialUser(email: string, firstName?: string | null, lastName?: string | null, isEmailVerified?: boolean, socialProvider?: string): Promise<IUser>;
170
+ /**
171
+ * Create or update social account
172
+ */
54
173
  protected createOrUpdateSocialAccount(user: IUser, profile: OAuthUserProfile): Promise<void>;
174
+ /**
175
+ * Create authentication response with tokens and user info
176
+ */
55
177
  protected createAuthResponse(user: IUser, _deviceType: 'web' | 'mobile'): Promise<AuthResponseDTO>;
56
178
  }
57
179
  //# sourceMappingURL=social-auth-base.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-auth-base.service.d.ts","sourceRoot":"","sources":["../../src/services/social-auth-base.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"social-auth-base.service.d.ts","sourceRoot":"","sources":["../../src/services/social-auth-base.service.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,44 @@ const crypto = __importStar(require("crypto"));
38
38
  const auth_audit_event_type_enum_1 = require("../enums/auth-audit-event-type.enum");
39
39
  const nauth_exception_1 = require("../exceptions/nauth.exception");
40
40
  const error_codes_enum_1 = require("../enums/error-codes.enum");
41
+ /**
42
+ * Base Social Auth Provider Service
43
+ *
44
+ * Abstract base class that provides common functionality for all social auth providers.
45
+ * Provider-specific services (Google, Apple, Facebook, GitHub, etc.) should extend this class
46
+ * and implement provider-specific OAuth client logic.
47
+ *
48
+ * This base class handles:
49
+ * - User creation/lookup
50
+ * - Social account linking
51
+ * - JWT token generation
52
+ * - Session management
53
+ * - Challenge system integration
54
+ *
55
+ * **Key Design:**
56
+ * - No hardcoded provider names - works with any provider
57
+ * - Provider config accessed dynamically via `providerName`
58
+ * - Future developers can add new providers without modifying this class
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * @Injectable()
63
+ * export class GitHubSocialAuthService extends BaseSocialAuthProviderService {
64
+ * readonly providerName = 'github';
65
+ *
66
+ * constructor(
67
+ * // ... dependencies
68
+ * private readonly githubOAuthClient: GitHubOAuthClient,
69
+ * ) {
70
+ * super(/* ... base dependencies *\/);
71
+ * }
72
+ *
73
+ * protected async getOAuthProfile(code: string, state: string): Promise<OAuthUserProfile> {
74
+ * // Provider-specific implementation
75
+ * }
76
+ * }
77
+ * ```
78
+ */
41
79
  class BaseSocialAuthProviderService {
42
80
  config;
43
81
  logger;
@@ -52,7 +90,14 @@ class BaseSocialAuthProviderService {
52
90
  phoneVerificationService;
53
91
  auditService;
54
92
  trustedDeviceService;
55
- constructor(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService, stateStore, userRepository, phoneVerificationService, auditService, trustedDeviceService) {
93
+ constructor(config, logger, authService, socialAuthService, jwtService, sessionService, challengeHelper, clientInfoService,
94
+ // State store for CSRF protection - shared across all providers
95
+ stateStore,
96
+ // User repository for creating social users
97
+ userRepository,
98
+ // Phone verification service (optional - only available when SMS provider is configured)
99
+ phoneVerificationService, auditService, // Optional - audit trail service (enabled via config.auditLogs.enabled)
100
+ trustedDeviceService) {
56
101
  this.config = config;
57
102
  this.logger = logger;
58
103
  this.authService = authService;
@@ -67,24 +112,45 @@ class BaseSocialAuthProviderService {
67
112
  this.auditService = auditService;
68
113
  this.trustedDeviceService = trustedDeviceService;
69
114
  }
115
+ /**
116
+ * Get provider configuration dynamically
117
+ *
118
+ * Accesses config.social[providerName] without hardcoding provider names.
119
+ * This allows any provider to work without modifying core code.
120
+ *
121
+ * @returns Provider configuration from NAuthConfig
122
+ * @protected
123
+ */
70
124
  getProviderConfig() {
71
125
  const socialConfig = this.config.social;
72
126
  if (!socialConfig)
73
127
  return null;
128
+ // Access config dynamically using providerName (no hardcoding)
74
129
  const providerConfig = socialConfig[this.providerName];
75
130
  return providerConfig || null;
76
131
  }
132
+ /**
133
+ * Handle OAuth callback and authenticate user
134
+ *
135
+ * Uses the provider-specific getOAuthProfile method and then handles
136
+ * user creation, session management, and token generation.
137
+ */
77
138
  async handleCallback(code, state) {
78
139
  const providerConfig = this.getProviderConfig();
79
140
  if (!providerConfig) {
80
141
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider configuration not found: ${this.providerName}`);
81
142
  }
143
+ // Validate state (basic CSRF protection)
82
144
  this.validateState(state);
83
145
  try {
146
+ // Get user profile from provider
84
147
  const profile = await this.getOAuthProfile(code, state);
85
148
  this.logger?.log?.(`[SocialAuth] ${this.providerName} callback verified (secure): ${profile.email}`);
149
+ // Find or create user
86
150
  const user = await this.findOrCreateUser(profile, providerConfig);
151
+ // Create or update social account
87
152
  await this.createOrUpdateSocialAccount(user, profile);
153
+ // Generate JWT tokens and session
88
154
  return await this.createAuthResponse(user, 'web');
89
155
  }
90
156
  catch (error) {
@@ -97,15 +163,22 @@ class BaseSocialAuthProviderService {
97
163
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, 'Social authentication failed: Unknown error');
98
164
  }
99
165
  }
166
+ /**
167
+ * Verify social authentication token from native mobile apps
168
+ */
100
169
  async verifyToken(idToken, accessToken, profileData) {
101
170
  const providerConfig = this.getProviderConfig();
102
171
  if (!providerConfig || providerConfig.enabled !== true) {
103
172
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider '${this.providerName}' is not configured or not enabled`);
104
173
  }
105
174
  try {
175
+ // Verify token and get profile
106
176
  const profile = await this.verifyNativeToken(idToken, accessToken, profileData);
177
+ // Find or create user
107
178
  const user = await this.findOrCreateUser(profile, providerConfig);
179
+ // Create or update social account
108
180
  await this.createOrUpdateSocialAccount(user, profile);
181
+ // Generate JWT tokens and session
109
182
  return await this.createAuthResponse(user, 'mobile');
110
183
  }
111
184
  catch (error) {
@@ -114,7 +187,11 @@ class BaseSocialAuthProviderService {
114
187
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, `Token verification failed: ${errorMessage}`);
115
188
  }
116
189
  }
190
+ /**
191
+ * Link social account to existing user
192
+ */
117
193
  async linkAccount(userId, code, state) {
194
+ // Get full user entity (need internal id for foreign keys)
118
195
  const user = (await this.userRepository.findOne({ where: { sub: userId } }));
119
196
  if (!user) {
120
197
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.NOT_FOUND, 'User not found');
@@ -123,20 +200,28 @@ class BaseSocialAuthProviderService {
123
200
  if (!providerConfig) {
124
201
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_CONFIG_MISSING, `Provider configuration not found: ${this.providerName}`);
125
202
  }
203
+ // Validate state
126
204
  this.validateState(state);
127
205
  try {
206
+ // Get user profile from provider
128
207
  const profile = await this.getOAuthProfile(code, state);
208
+ // Check if account is already linked
129
209
  const existingAccount = await this.socialAuthService.findSocialAccountByProvider(this.providerName, profile.id);
130
210
  if (existingAccount) {
131
211
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_ACCOUNT_LINKED, 'This social account is already linked to another user');
132
212
  }
213
+ // Create social account using service
133
214
  await this.socialAuthService.createOrUpdateSocialAccount(user.id, this.providerName, profile.id, profile.email, profile.raw);
215
+ // ============================================================================
216
+ // Audit: Record social account link
217
+ // ============================================================================
134
218
  try {
135
219
  await this.auditService?.recordEvent({
136
220
  userId: user.id,
137
221
  eventType: auth_audit_event_type_enum_1.AuthAuditEventType.SOCIAL_ACCOUNT_LINKED,
138
222
  eventStatus: 'INFO',
139
223
  authMethod: this.providerName,
224
+ // Client info automatically included from context
140
225
  metadata: {
141
226
  provider: this.providerName,
142
227
  providerEmail: profile.email || null,
@@ -144,6 +229,7 @@ class BaseSocialAuthProviderService {
144
229
  });
145
230
  }
146
231
  catch (auditError) {
232
+ // Non-blocking: Log but continue
147
233
  const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
148
234
  this.logger?.error?.(`Failed to record SOCIAL_ACCOUNT_LINKED audit event: ${errorMessage}`, {
149
235
  error: auditError,
@@ -151,12 +237,16 @@ class BaseSocialAuthProviderService {
151
237
  provider: this.providerName,
152
238
  });
153
239
  }
240
+ // ============================================================================
241
+ // Audit: Record social account link
242
+ // ============================================================================
154
243
  try {
155
244
  await this.auditService?.recordEvent({
156
245
  userId: user.id,
157
246
  eventType: auth_audit_event_type_enum_1.AuthAuditEventType.SOCIAL_ACCOUNT_LINKED,
158
247
  eventStatus: 'SUCCESS',
159
248
  authMethod: this.providerName.toLowerCase(),
249
+ // Client info automatically included from context
160
250
  metadata: {
161
251
  provider: this.providerName.toLowerCase(),
162
252
  providerEmail: profile.email || null,
@@ -164,6 +254,7 @@ class BaseSocialAuthProviderService {
164
254
  });
165
255
  }
166
256
  catch (auditError) {
257
+ // Non-blocking: Log but continue
167
258
  const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
168
259
  this.logger?.error?.(`Failed to record SOCIAL_ACCOUNT_LINKED audit event: ${errorMessage}`, {
169
260
  error: auditError,
@@ -183,9 +274,20 @@ class BaseSocialAuthProviderService {
183
274
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SOCIAL_TOKEN_INVALID, 'Social account linking failed: Unknown error');
184
275
  }
185
276
  }
277
+ /**
278
+ * Get OAuth user profile from callback
279
+ *
280
+ * Alias for getOAuthProfile for interface compliance.
281
+ */
186
282
  async getUserProfileFromCallback(code, state) {
187
283
  return this.getOAuthProfile(code, state);
188
284
  }
285
+ // ============================================================================
286
+ // Protected Helper Methods
287
+ // ============================================================================
288
+ /**
289
+ * Validate state parameter for CSRF protection
290
+ */
189
291
  validateState(state) {
190
292
  const stateData = this.stateStore.get(state);
191
293
  if (!stateData) {
@@ -194,12 +296,17 @@ class BaseSocialAuthProviderService {
194
296
  if (stateData.provider !== this.providerName) {
195
297
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.VALIDATION_FAILED, 'State provider mismatch', { field: 'state' });
196
298
  }
299
+ // Check if state is not too old (5 minutes)
197
300
  if (Date.now() - stateData.timestamp > 5 * 60 * 1000) {
198
301
  this.stateStore.delete(state);
199
302
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.CHALLENGE_EXPIRED, 'State parameter expired');
200
303
  }
304
+ // Clean up used state
201
305
  this.stateStore.delete(state);
202
306
  }
307
+ /**
308
+ * Generate random state for CSRF protection
309
+ */
203
310
  generateState() {
204
311
  const state = crypto.randomBytes(32).toString('hex');
205
312
  this.stateStore.set(state, {
@@ -208,12 +315,18 @@ class BaseSocialAuthProviderService {
208
315
  });
209
316
  return state;
210
317
  }
318
+ /**
319
+ * Find existing user or create new one
320
+ */
211
321
  async findOrCreateUser(profile, providerConfig) {
322
+ // First, try to find user by social account
212
323
  const socialAccount = await this.socialAuthService.findSocialAccountByProvider(this.providerName, profile.id);
213
324
  if (socialAccount) {
214
325
  return socialAccount.user;
215
326
  }
327
+ // If auto-link is enabled, try to find by email
216
328
  if (providerConfig.autoLink === true && profile.email) {
329
+ // Get full user entity (need internal id for foreign keys)
217
330
  const existingUser = (await this.userRepository.findOne({
218
331
  where: { email: profile.email, isEmailVerified: true },
219
332
  }));
@@ -221,6 +334,7 @@ class BaseSocialAuthProviderService {
221
334
  return existingUser;
222
335
  }
223
336
  }
337
+ // Create new user if allowSignup is enabled
224
338
  if (providerConfig.allowSignup !== false) {
225
339
  this.logger?.log?.(`[SocialAuth] Creating user: email=${profile.email}, isEmailVerified=${profile.verified || false}`);
226
340
  const savedUser = await this.createSocialUser(profile.email || '', profile.firstName, profile.lastName, profile.verified || false, this.providerName);
@@ -229,6 +343,17 @@ class BaseSocialAuthProviderService {
229
343
  }
230
344
  throw new nauth_exception_1.NAuthException(error_codes_enum_1.AuthErrorCode.SIGNUP_DISABLED, 'User not found and signup is disabled');
231
345
  }
346
+ /**
347
+ * Create a social-only user (no password)
348
+ *
349
+ * @param email - User email
350
+ * @param firstName - Optional first name
351
+ * @param lastName - Optional last name
352
+ * @param isEmailVerified - Whether email is verified (default: true)
353
+ * @param socialProvider - Initial social provider name
354
+ * @returns Created user
355
+ * @protected
356
+ */
232
357
  async createSocialUser(email, firstName, lastName, isEmailVerified = true, socialProvider) {
233
358
  const user = this.userRepository.create({
234
359
  email,
@@ -243,11 +368,21 @@ class BaseSocialAuthProviderService {
243
368
  this.logger?.log?.(`Social user created: ${email} (sub: ${savedUser.sub})`);
244
369
  return savedUser;
245
370
  }
371
+ /**
372
+ * Create or update social account
373
+ */
246
374
  async createOrUpdateSocialAccount(user, profile) {
247
375
  await this.socialAuthService.createOrUpdateSocialAccount(user.id, this.providerName, profile.id, profile.email, profile.raw);
248
376
  }
377
+ /**
378
+ * Create authentication response with tokens and user info
379
+ */
249
380
  async createAuthResponse(user, _deviceType) {
381
+ // Get actual client info from context (IP, userAgent, etc.)
250
382
  const clientInfo = this.clientInfoService.get();
383
+ // ============================================================================
384
+ // Audit: Record login attempt for social authentication
385
+ // ============================================================================
251
386
  try {
252
387
  await this.auditService?.recordEvent({
253
388
  userId: user.id,
@@ -258,6 +393,7 @@ class BaseSocialAuthProviderService {
258
393
  });
259
394
  }
260
395
  catch (auditError) {
396
+ // Non-blocking: Log but continue
261
397
  const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
262
398
  this.logger?.error?.(`Failed to record LOGIN_ATTEMPT audit event for social login: ${errorMessage}`, {
263
399
  error: auditError,
@@ -265,16 +401,20 @@ class BaseSocialAuthProviderService {
265
401
  provider: this.providerName,
266
402
  });
267
403
  }
404
+ // ============================================================================
405
+ // Check for Required Challenges BEFORE creating session
406
+ // ============================================================================
268
407
  const response = await this.challengeHelper.determineAuthResponse({
269
408
  user,
270
409
  config: this.config,
271
410
  deviceToken: clientInfo.deviceToken,
272
411
  isSocialLogin: true,
273
412
  skipMFAVerification: false,
274
- authProvider: this.providerName.toLowerCase(),
413
+ authProvider: this.providerName.toLowerCase(), // e.g., 'google', 'facebook', 'apple'
275
414
  });
276
415
  if (response.challengeName) {
277
416
  this.logger?.log?.(`Challenge required for social auth user ${user.sub}: ${response.challengeName}`);
417
+ // Record SOCIAL_LOGIN event even when challenge is required
278
418
  try {
279
419
  await this.auditService?.recordEvent({
280
420
  userId: user.id,
@@ -297,6 +437,15 @@ class BaseSocialAuthProviderService {
297
437
  }
298
438
  return response;
299
439
  }
440
+ // ============================================================================
441
+ // No challenges - determineAuthResponse already created session and tokens
442
+ // Just record SOCIAL_LOGIN audit event and return the response
443
+ // ============================================================================
444
+ // ============================================================================
445
+ // No challenges - determineAuthResponse already created session and tokens
446
+ // Just record SOCIAL_LOGIN audit event and return the response
447
+ // ============================================================================
448
+ // Check trusted device status (for audit metadata)
300
449
  let isTrustedDevice = false;
301
450
  if (this.config.mfa?.rememberDevices &&
302
451
  this.config.mfa?.rememberDevices !== 'never' &&
@@ -306,6 +455,7 @@ class BaseSocialAuthProviderService {
306
455
  isTrustedDevice = await this.trustedDeviceService.isDeviceTrusted(clientInfo.deviceToken, user.id);
307
456
  }
308
457
  catch (error) {
458
+ // Non-blocking: Log but continue
309
459
  const errorMessage = error instanceof Error ? error.message : 'Unknown error';
310
460
  this.logger?.warn?.(`Failed to check trusted device for social login: ${errorMessage}`, {
311
461
  error,
@@ -314,6 +464,7 @@ class BaseSocialAuthProviderService {
314
464
  });
315
465
  }
316
466
  }
467
+ // Record SOCIAL_LOGIN audit event
317
468
  try {
318
469
  await this.auditService?.recordEvent({
319
470
  userId: user.id,
@@ -327,6 +478,7 @@ class BaseSocialAuthProviderService {
327
478
  });
328
479
  }
329
480
  catch (auditError) {
481
+ // Non-blocking: Log but continue
330
482
  const errorMessage = auditError instanceof Error ? auditError.message : 'Unknown error';
331
483
  this.logger?.error?.(`Failed to record SOCIAL_LOGIN audit event: ${errorMessage}`, {
332
484
  error: auditError,
@@ -334,6 +486,7 @@ class BaseSocialAuthProviderService {
334
486
  provider: this.providerName,
335
487
  });
336
488
  }
489
+ // Return the response with session and tokens already created by determineAuthResponse
337
490
  return response;
338
491
  }
339
492
  }