@tinyrack/issuary-server 0.31.0 → 0.32.2

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 (455) hide show
  1. package/dist/entities/auth-budget.entity.d.ts +20 -0
  2. package/dist/entities/auth-budget.entity.d.ts.map +1 -0
  3. package/dist/entities/auth-budget.entity.js +11 -0
  4. package/dist/entities/auth-budget.entity.js.map +1 -0
  5. package/dist/entities/browser-session.entity.d.ts +32 -0
  6. package/dist/entities/browser-session.entity.d.ts.map +1 -0
  7. package/dist/entities/browser-session.entity.js +12 -0
  8. package/dist/entities/browser-session.entity.js.map +1 -0
  9. package/dist/entities/email-verification.entity.d.ts +18 -0
  10. package/dist/entities/email-verification.entity.d.ts.map +1 -1
  11. package/dist/entities/email-verification.entity.js +2 -0
  12. package/dist/entities/email-verification.entity.js.map +1 -1
  13. package/dist/entities/oauth-client.entity.d.ts +120 -0
  14. package/dist/entities/oauth-client.entity.d.ts.map +1 -1
  15. package/dist/entities/oauth-code.entity.d.ts +120 -0
  16. package/dist/entities/oauth-code.entity.d.ts.map +1 -1
  17. package/dist/entities/oauth-code.entity.js +3 -0
  18. package/dist/entities/oauth-code.entity.js.map +1 -1
  19. package/dist/entities/oauth-device-code.entity.d.ts +120 -0
  20. package/dist/entities/oauth-device-code.entity.d.ts.map +1 -1
  21. package/dist/entities/oauth-device-code.entity.js +3 -0
  22. package/dist/entities/oauth-device-code.entity.js.map +1 -1
  23. package/dist/entities/oauth-grant.entity.d.ts +52 -0
  24. package/dist/entities/oauth-grant.entity.d.ts.map +1 -0
  25. package/dist/entities/oauth-grant.entity.js +19 -0
  26. package/dist/entities/oauth-grant.entity.js.map +1 -0
  27. package/dist/entities/password-reset.entity.d.ts +18 -0
  28. package/dist/entities/password-reset.entity.d.ts.map +1 -1
  29. package/dist/entities/password-reset.entity.js +2 -0
  30. package/dist/entities/password-reset.entity.js.map +1 -1
  31. package/dist/entities/pending-oauth-registration.entity.d.ts +9 -0
  32. package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -1
  33. package/dist/entities/pending-oauth-registration.entity.js +1 -0
  34. package/dist/entities/pending-oauth-registration.entity.js.map +1 -1
  35. package/dist/entities/revoked-token.entity.d.ts +120 -0
  36. package/dist/entities/revoked-token.entity.d.ts.map +1 -1
  37. package/dist/entities/terms-content.entity.d.ts +36 -0
  38. package/dist/entities/terms-content.entity.d.ts.map +1 -1
  39. package/dist/entities/terms.entity.d.ts +36 -0
  40. package/dist/entities/terms.entity.d.ts.map +1 -1
  41. package/dist/entities/user-consent.entity.d.ts +120 -0
  42. package/dist/entities/user-consent.entity.d.ts.map +1 -1
  43. package/dist/entities/user-terms-consent.entity.d.ts +36 -0
  44. package/dist/entities/user-terms-consent.entity.d.ts.map +1 -1
  45. package/dist/entities/user-totp-recovery-code.entity.d.ts +36 -0
  46. package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -1
  47. package/dist/entities/user-totp.entity.d.ts +36 -0
  48. package/dist/entities/user-totp.entity.d.ts.map +1 -1
  49. package/dist/entities/user-totp.entity.js +1 -0
  50. package/dist/entities/user-totp.entity.js.map +1 -1
  51. package/dist/entities/user.entity.d.ts +36 -0
  52. package/dist/entities/user.entity.d.ts.map +1 -1
  53. package/dist/entities/user.entity.js +3 -0
  54. package/dist/entities/user.entity.js.map +1 -1
  55. package/dist/entrypoints/app.d.ts +448 -437
  56. package/dist/entrypoints/app.d.ts.map +1 -1
  57. package/dist/entrypoints/app.js +78 -6
  58. package/dist/entrypoints/app.js.map +1 -1
  59. package/dist/entrypoints/database/postgres/compiled-functions.d.ts +326 -200
  60. package/dist/entrypoints/database/postgres/compiled-functions.js +1849 -518
  61. package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
  62. package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +326 -200
  63. package/dist/entrypoints/database/sqlite/compiled-functions.js +1849 -518
  64. package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
  65. package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
  66. package/dist/entrypoints/database/sqlite/sqlite.js +1 -0
  67. package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
  68. package/dist/entrypoints/scheduler/database.d.ts +3 -1
  69. package/dist/entrypoints/scheduler/database.d.ts.map +1 -1
  70. package/dist/entrypoints/scheduler/database.js +13 -2
  71. package/dist/entrypoints/scheduler/database.js.map +1 -1
  72. package/dist/entrypoints/scheduler/distributed-runner.d.ts +4 -0
  73. package/dist/entrypoints/scheduler/distributed-runner.d.ts.map +1 -1
  74. package/dist/entrypoints/scheduler/distributed-runner.js +26 -1
  75. package/dist/entrypoints/scheduler/distributed-runner.js.map +1 -1
  76. package/dist/lib/config/email.d.ts +1 -0
  77. package/dist/lib/config/email.d.ts.map +1 -1
  78. package/dist/lib/config/email.js.map +1 -1
  79. package/dist/lib/database/entities.d.ts.map +1 -1
  80. package/dist/lib/database/entities.js +6 -0
  81. package/dist/lib/database/entities.js.map +1 -1
  82. package/dist/lib/openapi.d.ts +2 -0
  83. package/dist/lib/openapi.d.ts.map +1 -1
  84. package/dist/lib/openapi.js +36 -1
  85. package/dist/lib/openapi.js.map +1 -1
  86. package/dist/lib/request-ip.d.ts +4 -0
  87. package/dist/lib/request-ip.d.ts.map +1 -0
  88. package/dist/lib/request-ip.js +39 -0
  89. package/dist/lib/request-ip.js.map +1 -0
  90. package/dist/middleware/auth-budget.d.ts +3 -0
  91. package/dist/middleware/auth-budget.d.ts.map +1 -0
  92. package/dist/middleware/auth-budget.js +80 -0
  93. package/dist/middleware/auth-budget.js.map +1 -0
  94. package/dist/middleware/session.d.ts +23 -5
  95. package/dist/middleware/session.d.ts.map +1 -1
  96. package/dist/middleware/session.js +152 -12
  97. package/dist/middleware/session.js.map +1 -1
  98. package/dist/middleware/strict-input.d.ts +4 -0
  99. package/dist/middleware/strict-input.d.ts.map +1 -0
  100. package/dist/middleware/strict-input.js +144 -0
  101. package/dist/middleware/strict-input.js.map +1 -0
  102. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts +6 -0
  103. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts.map +1 -0
  104. package/dist/migrations/postgres/Migration20260910120000_api_security.js +20 -0
  105. package/dist/migrations/postgres/Migration20260910120000_api_security.js.map +1 -0
  106. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts +6 -0
  107. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts.map +1 -0
  108. package/dist/migrations/postgres/Migration20260910160000_security_followup.js +23 -0
  109. package/dist/migrations/postgres/Migration20260910160000_security_followup.js.map +1 -0
  110. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts +6 -0
  111. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  112. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js +28 -0
  113. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js.map +1 -0
  114. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts +6 -0
  115. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  116. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js +19 -0
  117. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js.map +1 -0
  118. package/dist/migrations/postgres/index.d.ts.map +1 -1
  119. package/dist/migrations/postgres/index.js +8 -0
  120. package/dist/migrations/postgres/index.js.map +1 -1
  121. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts +6 -0
  122. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts.map +1 -0
  123. package/dist/migrations/sqlite/Migration20260910120000_api_security.js +20 -0
  124. package/dist/migrations/sqlite/Migration20260910120000_api_security.js.map +1 -0
  125. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts +6 -0
  126. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts.map +1 -0
  127. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js +23 -0
  128. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js.map +1 -0
  129. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts +8 -0
  130. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  131. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js +72 -0
  132. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js.map +1 -0
  133. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts +6 -0
  134. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  135. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js +19 -0
  136. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js.map +1 -0
  137. package/dist/migrations/sqlite/index.d.ts.map +1 -1
  138. package/dist/migrations/sqlite/index.js +8 -0
  139. package/dist/migrations/sqlite/index.js.map +1 -1
  140. package/dist/repositories/email-verification.repository.d.ts +1 -0
  141. package/dist/repositories/email-verification.repository.d.ts.map +1 -1
  142. package/dist/repositories/email-verification.repository.js +8 -17
  143. package/dist/repositories/email-verification.repository.js.map +1 -1
  144. package/dist/repositories/oauth-code.repository.d.ts +2 -0
  145. package/dist/repositories/oauth-code.repository.d.ts.map +1 -1
  146. package/dist/repositories/oauth-code.repository.js +8 -0
  147. package/dist/repositories/oauth-code.repository.js.map +1 -1
  148. package/dist/repositories/oauth-device-code.repository.d.ts +3 -0
  149. package/dist/repositories/oauth-device-code.repository.d.ts.map +1 -1
  150. package/dist/repositories/oauth-device-code.repository.js +64 -29
  151. package/dist/repositories/oauth-device-code.repository.js.map +1 -1
  152. package/dist/repositories/password-reset.repository.d.ts +1 -0
  153. package/dist/repositories/password-reset.repository.d.ts.map +1 -1
  154. package/dist/repositories/password-reset.repository.js +6 -19
  155. package/dist/repositories/password-reset.repository.js.map +1 -1
  156. package/dist/repositories/pending-oauth-registration.repository.d.ts +2 -0
  157. package/dist/repositories/pending-oauth-registration.repository.d.ts.map +1 -1
  158. package/dist/repositories/pending-oauth-registration.repository.js +16 -2
  159. package/dist/repositories/pending-oauth-registration.repository.js.map +1 -1
  160. package/dist/repositories/terms.repository.d.ts.map +1 -1
  161. package/dist/repositories/terms.repository.js +1 -0
  162. package/dist/repositories/terms.repository.js.map +1 -1
  163. package/dist/repositories/user-consent.repository.d.ts.map +1 -1
  164. package/dist/repositories/user-consent.repository.js +1 -1
  165. package/dist/repositories/user-consent.repository.js.map +1 -1
  166. package/dist/repositories/user-terms-consent.repository.d.ts.map +1 -1
  167. package/dist/repositories/user-terms-consent.repository.js +2 -0
  168. package/dist/repositories/user-terms-consent.repository.js.map +1 -1
  169. package/dist/repositories/user-totp-recovery-code.repository.d.ts +24 -0
  170. package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
  171. package/dist/repositories/user-totp.repository.d.ts +36 -0
  172. package/dist/repositories/user-totp.repository.d.ts.map +1 -1
  173. package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -1
  174. package/dist/routes/.well-known/openid-configuration/get.js +5 -1
  175. package/dist/routes/.well-known/openid-configuration/get.js.map +1 -1
  176. package/dist/routes/api/admin/console/index.d.ts.map +1 -1
  177. package/dist/routes/api/admin/console/index.js +29 -14
  178. package/dist/routes/api/admin/console/index.js.map +1 -1
  179. package/dist/routes/api/admin/me/get.js +2 -3
  180. package/dist/routes/api/admin/me/get.js.map +1 -1
  181. package/dist/routes/api/admin/users/index.d.ts.map +1 -1
  182. package/dist/routes/api/admin/users/index.js +59 -52
  183. package/dist/routes/api/admin/users/index.js.map +1 -1
  184. package/dist/routes/api/auth/accounts/remove.post.d.ts +5 -5
  185. package/dist/routes/api/auth/email/resend/post.d.ts.map +1 -1
  186. package/dist/routes/api/auth/email/resend/post.js +3 -24
  187. package/dist/routes/api/auth/email/resend/post.js.map +1 -1
  188. package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -1
  189. package/dist/routes/api/auth/email/verify/post.js +29 -12
  190. package/dist/routes/api/auth/email/verify/post.js.map +1 -1
  191. package/dist/routes/api/auth/login/post.d.ts.map +1 -1
  192. package/dist/routes/api/auth/login/post.js +4 -3
  193. package/dist/routes/api/auth/login/post.js.map +1 -1
  194. package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
  195. package/dist/routes/api/auth/passkey/verify/post.js +25 -11
  196. package/dist/routes/api/auth/passkey/verify/post.js.map +1 -1
  197. package/dist/routes/api/auth/password/forgot/post.d.ts.map +1 -1
  198. package/dist/routes/api/auth/password/forgot/post.js +2 -19
  199. package/dist/routes/api/auth/password/forgot/post.js.map +1 -1
  200. package/dist/routes/api/auth/register/post.d.ts.map +1 -1
  201. package/dist/routes/api/auth/register/post.js +4 -3
  202. package/dist/routes/api/auth/register/post.js.map +1 -1
  203. package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -1
  204. package/dist/routes/api/auth/totp/recovery/verify/post.js +7 -5
  205. package/dist/routes/api/auth/totp/recovery/verify/post.js.map +1 -1
  206. package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -1
  207. package/dist/routes/api/auth/totp/verify/post.js +7 -5
  208. package/dist/routes/api/auth/totp/verify/post.js.map +1 -1
  209. package/dist/routes/api/consent/post.d.ts.map +1 -1
  210. package/dist/routes/api/consent/post.js +141 -120
  211. package/dist/routes/api/consent/post.js.map +1 -1
  212. package/dist/routes/api/docs/get.d.ts.map +1 -1
  213. package/dist/routes/api/docs/get.js +8 -1
  214. package/dist/routes/api/docs/get.js.map +1 -1
  215. package/dist/routes/api/index.d.ts +379 -379
  216. package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
  217. package/dist/routes/api/oauth/_provider/authorize/get.js +5 -1
  218. package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
  219. package/dist/routes/api/oauth/_provider/callback/get.d.ts +9 -9
  220. package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -1
  221. package/dist/routes/api/oauth/_provider/callback/get.js +30 -6
  222. package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -1
  223. package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
  224. package/dist/routes/api/oauth/_provider/callback/post.js +31 -31
  225. package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
  226. package/dist/routes/api/oauth/_provider/delete.d.ts.map +1 -1
  227. package/dist/routes/api/oauth/_provider/delete.js +14 -11
  228. package/dist/routes/api/oauth/_provider/delete.js.map +1 -1
  229. package/dist/routes/api/oauth/index.d.ts +18 -18
  230. package/dist/routes/api/terms/consent/post.d.ts.map +1 -1
  231. package/dist/routes/api/terms/consent/post.js +59 -43
  232. package/dist/routes/api/terms/consent/post.js.map +1 -1
  233. package/dist/routes/api/user/delete.d.ts.map +1 -1
  234. package/dist/routes/api/user/delete.js +8 -8
  235. package/dist/routes/api/user/delete.js.map +1 -1
  236. package/dist/routes/api/user/passkeys/_id/delete.d.ts.map +1 -1
  237. package/dist/routes/api/user/passkeys/_id/delete.js +17 -29
  238. package/dist/routes/api/user/passkeys/_id/delete.js.map +1 -1
  239. package/dist/routes/api/user/passkeys/_id/patch.d.ts.map +1 -1
  240. package/dist/routes/api/user/passkeys/_id/patch.js +16 -13
  241. package/dist/routes/api/user/passkeys/_id/patch.js.map +1 -1
  242. package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -1
  243. package/dist/routes/api/user/passkeys/register/verify/post.js +27 -19
  244. package/dist/routes/api/user/passkeys/register/verify/post.js.map +1 -1
  245. package/dist/routes/api/user/password/delete.d.ts.map +1 -1
  246. package/dist/routes/api/user/password/delete.js +13 -10
  247. package/dist/routes/api/user/password/delete.js.map +1 -1
  248. package/dist/routes/api/user/password/post.d.ts.map +1 -1
  249. package/dist/routes/api/user/password/post.js +13 -10
  250. package/dist/routes/api/user/password/post.js.map +1 -1
  251. package/dist/routes/api/user/password/put.d.ts.map +1 -1
  252. package/dist/routes/api/user/password/put.js +13 -10
  253. package/dist/routes/api/user/password/put.js.map +1 -1
  254. package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -1
  255. package/dist/routes/api/user/totp/confirm/post.js +33 -18
  256. package/dist/routes/api/user/totp/confirm/post.js.map +1 -1
  257. package/dist/routes/api/user/totp/delete.d.ts.map +1 -1
  258. package/dist/routes/api/user/totp/delete.js +13 -18
  259. package/dist/routes/api/user/totp/delete.js.map +1 -1
  260. package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts.map +1 -1
  261. package/dist/routes/api/user/totp/recovery/regenerate/post.js +13 -10
  262. package/dist/routes/api/user/totp/recovery/regenerate/post.js.map +1 -1
  263. package/dist/routes/api/user/totp/setup/post.d.ts.map +1 -1
  264. package/dist/routes/api/user/totp/setup/post.js +13 -8
  265. package/dist/routes/api/user/totp/setup/post.js.map +1 -1
  266. package/dist/routes/api/user/totp/verify/post.d.ts.map +1 -1
  267. package/dist/routes/api/user/totp/verify/post.js +23 -12
  268. package/dist/routes/api/user/totp/verify/post.js.map +1 -1
  269. package/dist/routes/index.d.ts +252 -242
  270. package/dist/routes/index.d.ts.map +1 -1
  271. package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
  272. package/dist/routes/oauth/authorize/get.js +12 -4
  273. package/dist/routes/oauth/authorize/get.js.map +1 -1
  274. package/dist/routes/oauth/device/get-post.d.ts +10 -0
  275. package/dist/routes/oauth/device/get-post.d.ts.map +1 -1
  276. package/dist/routes/oauth/device/get-post.js +32 -3
  277. package/dist/routes/oauth/device/get-post.js.map +1 -1
  278. package/dist/routes/oauth/device-authorization/post.d.ts.map +1 -1
  279. package/dist/routes/oauth/device-authorization/post.js +13 -7
  280. package/dist/routes/oauth/device-authorization/post.js.map +1 -1
  281. package/dist/routes/oauth/end-session/get.d.ts.map +1 -1
  282. package/dist/routes/oauth/end-session/get.js +2 -3
  283. package/dist/routes/oauth/end-session/get.js.map +1 -1
  284. package/dist/routes/oauth/index.d.ts +10 -0
  285. package/dist/routes/oauth/index.d.ts.map +1 -1
  286. package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
  287. package/dist/routes/oauth/revoke/post.js +10 -2
  288. package/dist/routes/oauth/revoke/post.js.map +1 -1
  289. package/dist/routes/oauth/token/post.d.ts.map +1 -1
  290. package/dist/routes/oauth/token/post.js +69 -57
  291. package/dist/routes/oauth/token/post.js.map +1 -1
  292. package/dist/schemas/error.d.ts +75 -0
  293. package/dist/schemas/error.d.ts.map +1 -1
  294. package/dist/schemas/error.js +3 -0
  295. package/dist/schemas/error.js.map +1 -1
  296. package/dist/schemas/field.d.ts.map +1 -1
  297. package/dist/schemas/field.js +3 -0
  298. package/dist/schemas/field.js.map +1 -1
  299. package/dist/seeders/config.seeder.d.ts +1 -1
  300. package/dist/seeders/config.seeder.d.ts.map +1 -1
  301. package/dist/seeders/config.seeder.js +100 -36
  302. package/dist/seeders/config.seeder.js.map +1 -1
  303. package/dist/services/admin-console.service.d.ts.map +1 -1
  304. package/dist/services/admin-console.service.js +137 -100
  305. package/dist/services/admin-console.service.js.map +1 -1
  306. package/dist/services/auth-budget.service.d.ts +6 -0
  307. package/dist/services/auth-budget.service.d.ts.map +1 -0
  308. package/dist/services/auth-budget.service.js +30 -0
  309. package/dist/services/auth-budget.service.js.map +1 -0
  310. package/dist/services/authentication-epoch.d.ts +5 -0
  311. package/dist/services/authentication-epoch.d.ts.map +1 -0
  312. package/dist/services/authentication-epoch.js +22 -0
  313. package/dist/services/authentication-epoch.js.map +1 -0
  314. package/dist/services/authorization-browser.service.d.ts +18 -0
  315. package/dist/services/authorization-browser.service.d.ts.map +1 -0
  316. package/dist/services/authorization-browser.service.js +28 -0
  317. package/dist/services/authorization-browser.service.js.map +1 -0
  318. package/dist/services/browser-security.service.d.ts +14 -0
  319. package/dist/services/browser-security.service.d.ts.map +1 -0
  320. package/dist/services/browser-security.service.js +85 -0
  321. package/dist/services/browser-security.service.js.map +1 -0
  322. package/dist/services/browser-session.service.d.ts +25 -0
  323. package/dist/services/browser-session.service.d.ts.map +1 -0
  324. package/dist/services/browser-session.service.js +102 -0
  325. package/dist/services/browser-session.service.js.map +1 -0
  326. package/dist/services/cleanup.service.d.ts +1 -0
  327. package/dist/services/cleanup.service.d.ts.map +1 -1
  328. package/dist/services/cleanup.service.js +31 -0
  329. package/dist/services/cleanup.service.js.map +1 -1
  330. package/dist/services/client-security.d.ts +641 -0
  331. package/dist/services/client-security.d.ts.map +1 -0
  332. package/dist/services/client-security.js +10 -0
  333. package/dist/services/client-security.js.map +1 -0
  334. package/dist/services/container.d.ts +2 -0
  335. package/dist/services/container.d.ts.map +1 -1
  336. package/dist/services/container.js +6 -2
  337. package/dist/services/container.js.map +1 -1
  338. package/dist/services/email.service.d.ts +2 -14
  339. package/dist/services/email.service.d.ts.map +1 -1
  340. package/dist/services/email.service.js +35 -29
  341. package/dist/services/email.service.js.map +1 -1
  342. package/dist/services/jwt.service.d.ts +1 -0
  343. package/dist/services/jwt.service.d.ts.map +1 -1
  344. package/dist/services/jwt.service.js +13 -1
  345. package/dist/services/jwt.service.js.map +1 -1
  346. package/dist/services/mail-queue.service.d.ts +24 -0
  347. package/dist/services/mail-queue.service.d.ts.map +1 -0
  348. package/dist/services/mail-queue.service.js +223 -0
  349. package/dist/services/mail-queue.service.js.map +1 -0
  350. package/dist/services/mikro.service.d.ts.map +1 -1
  351. package/dist/services/mikro.service.js +2 -0
  352. package/dist/services/mikro.service.js.map +1 -1
  353. package/dist/services/oauth-authorize.service.d.ts +3 -0
  354. package/dist/services/oauth-authorize.service.d.ts.map +1 -1
  355. package/dist/services/oauth-authorize.service.js +131 -101
  356. package/dist/services/oauth-authorize.service.js.map +1 -1
  357. package/dist/services/oauth-browser-security.service.d.ts +7 -0
  358. package/dist/services/oauth-browser-security.service.d.ts.map +1 -0
  359. package/dist/services/oauth-browser-security.service.js +67 -0
  360. package/dist/services/oauth-browser-security.service.js.map +1 -0
  361. package/dist/services/oauth-client.service.d.ts +24 -1
  362. package/dist/services/oauth-client.service.d.ts.map +1 -1
  363. package/dist/services/oauth-client.service.js +52 -13
  364. package/dist/services/oauth-client.service.js.map +1 -1
  365. package/dist/services/oauth-connect.service.d.ts +37 -3
  366. package/dist/services/oauth-connect.service.d.ts.map +1 -1
  367. package/dist/services/oauth-connect.service.js +236 -212
  368. package/dist/services/oauth-connect.service.js.map +1 -1
  369. package/dist/services/oauth-token.service.d.ts +6 -4
  370. package/dist/services/oauth-token.service.d.ts.map +1 -1
  371. package/dist/services/oauth-token.service.js +295 -209
  372. package/dist/services/oauth-token.service.js.map +1 -1
  373. package/dist/services/passkey.service.d.ts +26 -7
  374. package/dist/services/passkey.service.d.ts.map +1 -1
  375. package/dist/services/passkey.service.js +71 -42
  376. package/dist/services/passkey.service.js.map +1 -1
  377. package/dist/services/password-auth.service.d.ts +5 -1
  378. package/dist/services/password-auth.service.d.ts.map +1 -1
  379. package/dist/services/password-auth.service.js +79 -52
  380. package/dist/services/password-auth.service.js.map +1 -1
  381. package/dist/services/password-reset.service.d.ts.map +1 -1
  382. package/dist/services/password-reset.service.js +34 -15
  383. package/dist/services/password-reset.service.js.map +1 -1
  384. package/dist/services/security.service.d.ts +3 -1
  385. package/dist/services/security.service.d.ts.map +1 -1
  386. package/dist/services/security.service.js +11 -2
  387. package/dist/services/security.service.js.map +1 -1
  388. package/dist/services/terms-policy.service.d.ts +7 -0
  389. package/dist/services/terms-policy.service.d.ts.map +1 -0
  390. package/dist/services/terms-policy.service.js +26 -0
  391. package/dist/services/terms-policy.service.js.map +1 -0
  392. package/dist/services/totp.service.d.ts +4 -5
  393. package/dist/services/totp.service.d.ts.map +1 -1
  394. package/dist/services/totp.service.js +116 -86
  395. package/dist/services/totp.service.js.map +1 -1
  396. package/dist/services/user-security.service.d.ts +15 -0
  397. package/dist/services/user-security.service.d.ts.map +1 -0
  398. package/dist/services/user-security.service.js +57 -0
  399. package/dist/services/user-security.service.js.map +1 -0
  400. package/dist/services/user.service.d.ts +6 -4
  401. package/dist/services/user.service.d.ts.map +1 -1
  402. package/dist/services/user.service.js +143 -121
  403. package/dist/services/user.service.js.map +1 -1
  404. package/frontend/client/assets/{auth-layout-BedWIZ7L.js → auth-layout-sea6nww4.js} +1 -1
  405. package/frontend/client/assets/{auth-page-header-C6Z6Air-.js → auth-page-header-CV85AJLW.js} +1 -1
  406. package/frontend/client/assets/document-navigation-FZbb5ldf.js +1 -0
  407. package/frontend/client/assets/i18n-vfKY-byx.js +1 -0
  408. package/frontend/client/assets/{language-selector-CeLHnp1n.js → language-selector-Jso2cQNI.js} +1 -1
  409. package/frontend/client/assets/manifest-90703545.js +1 -0
  410. package/frontend/client/assets/{passkey-Bkqvhjwb.js → passkey-CJhT-7yO.js} +1 -1
  411. package/frontend/client/assets/{promise-CepnkPDw.js → promise-BP9iSIs-.js} +1 -1
  412. package/frontend/client/assets/{root-CM8lJbh5.js → root-BkavuloG.js} +1 -1
  413. package/frontend/client/assets/{route-Y1_yJKhW.js → route-B0udr9eT.js} +1 -1
  414. package/frontend/client/assets/{route-CdPHVY9W.js → route-B3Uv9aTa.js} +1 -1
  415. package/frontend/client/assets/{route-CF1S7UUy.js → route-B6hIfgxz.js} +1 -1
  416. package/frontend/client/assets/{route-BcXtt6V2.js → route-BEWds2g-.js} +1 -1
  417. package/frontend/client/assets/route-Bm9LsorH.js +1 -0
  418. package/frontend/client/assets/route-Btv5Y69z.js +1 -0
  419. package/frontend/client/assets/route-BvyDzziE.js +1 -0
  420. package/frontend/client/assets/route-C6kG9u7j.js +1 -0
  421. package/frontend/client/assets/{route-1rid8j-3.js → route-C7C3Z0vI.js} +1 -1
  422. package/frontend/client/assets/{route-DphbGk_G.js → route-CVyefM3x.js} +1 -1
  423. package/frontend/client/assets/{route-DZvCkU11.js → route-CXth2Wqz.js} +1 -1
  424. package/frontend/client/assets/route-D0IqOurp.js +1 -0
  425. package/frontend/client/assets/route-DHmYUnJR.js +1 -0
  426. package/frontend/client/assets/route-DTjZQ_Fl.js +1 -0
  427. package/frontend/client/assets/route-D_dTeu1b.js +1 -0
  428. package/frontend/client/assets/{route-DkoXJmYM.js → route-Dj8gVemC.js} +1 -1
  429. package/frontend/client/assets/{route-DrtpzI6u.js → route-DnhPlHOi.js} +1 -1
  430. package/frontend/client/assets/route-FY92YQhF.js +1 -0
  431. package/frontend/client/assets/{route-CKiun7AR.js → route-PcLpZHbT.js} +1 -1
  432. package/frontend/client/assets/{route-BwhQptmx.js → route-qpE7i22X.js} +1 -1
  433. package/frontend/client/assets/{route-HA9dma-h.js → route-wK89gmoS.js} +1 -1
  434. package/frontend/client/assets/security-error-message-CMsTsiWf.js +1 -0
  435. package/frontend/client/assets/{shell-header-bar-CjPlfRKT.js → shell-header-bar-DRx10tE5.js} +1 -1
  436. package/frontend/client/assets/{terms-BGJD_l_i.js → terms-Bu9Itxxs.js} +1 -1
  437. package/frontend/client/assets/{use-totp-setup-Cwuds2tR.js → use-totp-setup-CoOXWOcT.js} +1 -1
  438. package/frontend/server/assets/{hydration-B63_G0fd.js → hydration-DWMjpNav.js} +1 -1
  439. package/frontend/server/assets/{root-loader.server-DUIBlg_3.js → root-loader.server-B4OqoLGG.js} +3 -3
  440. package/frontend/server/assets/{route-runtime.server-DiqwWb8W.js → route-runtime.server-03_pjVDT.js} +1 -1
  441. package/frontend/server/assets/{session-BaAt7WMI.js → session-sJkmzJie.js} +36 -24
  442. package/frontend/server/index.js +239 -193
  443. package/package.json +1 -1
  444. package/frontend/client/assets/document-navigation-Cnp3Alf0.js +0 -1
  445. package/frontend/client/assets/i18n-Dzv9HKFm.js +0 -1
  446. package/frontend/client/assets/manifest-71025d92.js +0 -1
  447. package/frontend/client/assets/route-B4jDMFTW.js +0 -1
  448. package/frontend/client/assets/route-C-DecXPL.js +0 -1
  449. package/frontend/client/assets/route-CGTMMDiX.js +0 -1
  450. package/frontend/client/assets/route-CMJbXiDe.js +0 -1
  451. package/frontend/client/assets/route-DBpAiakW.js +0 -1
  452. package/frontend/client/assets/route-DS92RKs5.js +0 -1
  453. package/frontend/client/assets/route-Dc6G2aDX.js +0 -1
  454. package/frontend/client/assets/route-DqAmRSJE.js +0 -1
  455. package/frontend/client/assets/route-Ezzcj26w.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-authorize.service.js","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-authorize.service.js","sourceRoot":"","sources":["../../src/services/oauth-authorize.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { AppEnv } from '../lib/app-env.js';
2
+ import type { OAuthAuthenticationProof, OAuthCallbackResult } from './oauth-connect.service.js';
3
+ /** External proof preparation happens before acquiring either database lock. */
4
+ export declare function completeOAuthAuthentication(c: {
5
+ var: AppEnv['Variables'];
6
+ }, proof: OAuthAuthenticationProof, operation: () => Promise<OAuthCallbackResult>): Promise<OAuthCallbackResult>;
7
+ //# sourceMappingURL=oauth-browser-security.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-browser-security.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-browser-security.service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAIpC,gFAAgF;AAChF,wBAAsB,2BAA2B,CAC/C,CAAC,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;CAAE,EAC/B,KAAK,EAAE,wBAAwB,EAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAC5C,OAAO,CAAC,mBAAmB,CAAC,CA6E9B"}
@@ -0,0 +1,67 @@
1
+ import { raw, UniqueConstraintViolationException } from '@mikro-orm/core';
2
+ import { BrowserSessionEntitySchema } from '../entities/browser-session.entity.js';
3
+ import { UserEntity } from '../entities/user.entity.js';
4
+ import { e } from '../schemas/error.js';
5
+ import { lockTermsPolicy } from './terms-policy.service.js';
6
+ import { isSecurityConflict } from './user-security.service.js';
7
+ /** External proof preparation happens before acquiring either database lock. */
8
+ export async function completeOAuthAuthentication(c, proof, operation) {
9
+ const { session, services } = c.var;
10
+ const original = session.authorization.oauth;
11
+ if (!original || original.mode === 'link')
12
+ throw new e.OAuthSessionExpired.Error();
13
+ try {
14
+ return await session.atomic(async () => {
15
+ const em = services.mikro.em;
16
+ await lockTermsPolicy(em, 'read');
17
+ if (proof.kind !== 'registration') {
18
+ const changed = await em.nativeUpdate(UserEntity, { sub: proof.userSub }, {
19
+ security_revision: raw('security_revision + 1'),
20
+ });
21
+ if (changed !== 1)
22
+ throw new e.OAuthSessionExpired.Error();
23
+ const user = await em.findOneOrFail(UserEntity, { sub: proof.userSub }, { refresh: true });
24
+ if (user.deleted_at || user.token_epoch !== proof.userEpoch)
25
+ throw new e.OAuthSessionExpired.Error();
26
+ }
27
+ // A newly created user is written before the browser session is locked.
28
+ const preparedResult = proof.kind === 'registration' ? await operation() : undefined;
29
+ const locked = await em.nativeUpdate(BrowserSessionEntitySchema, {
30
+ id: session.id,
31
+ revision: session.revision,
32
+ expires_at: { $gt: new Date() },
33
+ }, { revision: session.revision });
34
+ if (locked !== 1)
35
+ throw new e.Unauthorized.Error();
36
+ const record = await em.findOneOrFail(BrowserSessionEntitySchema, { id: session.id }, { refresh: true });
37
+ const current = record.data.oauth;
38
+ if (!current ||
39
+ current.state !== original.state ||
40
+ current.providerId !== proof.providerId ||
41
+ current.providerId !== original.providerId ||
42
+ current.mode !== original.mode ||
43
+ current.codeVerifier !== original.codeVerifier ||
44
+ (record.data.security?.oauthExpiresAt ?? 0) <= Date.now())
45
+ throw new e.OAuthSessionExpired.Error();
46
+ const result = preparedResult ?? (await operation());
47
+ session.set('oauth', undefined);
48
+ if (result.action === 'login_complete' ||
49
+ result.action === 'login_terms_redirect') {
50
+ if (proof.kind !== 'registration' &&
51
+ (result.userSub !== proof.userSub ||
52
+ result.userEpoch !== proof.userEpoch))
53
+ throw new e.OAuthSessionExpired.Error();
54
+ session.setUserSession(result.userSub, result.userEpoch);
55
+ }
56
+ return result;
57
+ });
58
+ }
59
+ catch (error) {
60
+ if (error instanceof UniqueConstraintViolationException)
61
+ throw new e.OAuthSessionExpired.Error();
62
+ if (isSecurityConflict(error))
63
+ throw new e.ConcurrentSecurityChange.Error();
64
+ throw error;
65
+ }
66
+ }
67
+ //# sourceMappingURL=oauth-browser-security.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-browser-security.service.js","sourceRoot":"","sources":["../../src/services/oauth-browser-security.service.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import type z from 'zod';
2
2
  import type { r } from '../schemas/response.ts';
3
3
  import type { MikroService } from './mikro.service.ts';
4
4
  import type { SecurityService } from './security.service.ts';
5
+ export interface ClientAuthenticationProof {
6
+ readonly clientId: string;
7
+ readonly id: string;
8
+ readonly epoch: string;
9
+ readonly kind: 'public' | 'confidential';
10
+ readonly fingerprint: string;
11
+ }
5
12
  export declare class OAuthClientService {
6
13
  private readonly mikro;
7
14
  private readonly securityService;
@@ -37,7 +44,23 @@ export declare class OAuthClientService {
37
44
  * @returns true if valid, false otherwise
38
45
  */
39
46
  verifyClientSecret(clientId: string, clientSecret: string): Promise<boolean>;
40
- validateClientSecretIfRequired(clientId: string, clientSecret: string | undefined): Promise<void>;
47
+ validateClientSecretIfRequired(clientId: string, clientSecret: string | undefined): Promise<ClientAuthenticationProof>;
48
+ /** Requires an enclosing transaction. The proof is captured before credential verification yields. */
49
+ lockAuthenticatedClient(proof: ClientAuthenticationProof, clientId: string, grantType?: string): Promise<{
50
+ id: string;
51
+ clientId: string;
52
+ name: string;
53
+ managed_by: "config" | "database";
54
+ enabled: boolean;
55
+ tokenEpoch: string | null;
56
+ skipConsent: boolean;
57
+ redirectUris: string[];
58
+ postLogoutRedirectUris: string[];
59
+ webOrigins: string[];
60
+ responseTypes: string[];
61
+ scopes: string[];
62
+ grantTypes: string[];
63
+ }>;
41
64
  isPublicClient(clientId: string): Promise<boolean>;
42
65
  validateConfidentialClient(clientId: string): Promise<void>;
43
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-client.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-client.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,YAAmB,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAGvE;IAED;;;OAGG;IACU,cAAc,CACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAuBxC;IAED;;OAEG;IACI,mBAAmB,CACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,WAAW,EAAE,MAAM,GAClB,IAAI,CAIN;IAED;;OAEG;IACI,oBAAoB,CACzB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,YAAY,EAAE,MAAM,GACnB,IAAI,CAIN;IAEM,iBAAiB,CACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;IAEM,6BAA6B,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,qBAAqB,EAAE,MAAM,GAC5B,IAAI,CAIN;IAED;;OAEG;IACI,cAAc,CACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,CAQN;IAED;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAIlE;IAEY,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMhE;IAED;;;;;OAKG;IACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAmBlB;IAEY,8BAA8B,CACzC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Bf;IAEY,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU9D;IAEY,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;CACF"}
1
+ {"version":3,"file":"oauth-client.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-client.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,YAAmB,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAGvE;IAED;;;OAGG;IACU,cAAc,CACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAwBxC;IAED;;OAEG;IACI,mBAAmB,CACxB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,WAAW,EAAE,MAAM,GAClB,IAAI,CAIN;IAED;;OAEG;IACI,oBAAoB,CACzB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,YAAY,EAAE,MAAM,GACnB,IAAI,CAIN;IAEM,iBAAiB,CACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,SAAS,EAAE,MAAM,GAChB,IAAI,CAIN;IAEM,6BAA6B,CAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,qBAAqB,EAAE,MAAM,GAC5B,IAAI,CAIN;IAED;;OAEG;IACI,cAAc,CACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EACrC,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,CAQN;IAED;;OAEG;IACI,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,CAIlE;IAEY,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAMhE;IAED;;;;;OAKG;IACU,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAmBlB;IAEY,8BAA8B,CACzC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CA0BpC;IAED,sGAAsG;IACzF,uBAAuB,CAClC,KAAK,EAAE,yBAAyB,EAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM;;;;;;;;;;;;;;OA4CnB;IAEY,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU9D;IAEY,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;CACF"}
@@ -1,4 +1,6 @@
1
+ import { OAuthClientEntitySchema } from '../entities/oauth-client.entity.js';
1
2
  import { e } from '../schemas/error.js';
3
+ import { lockOAuthClient } from './client-security.js';
2
4
  export class OAuthClientService {
3
5
  mikro;
4
6
  securityService;
@@ -12,6 +14,7 @@ export class OAuthClientService {
12
14
  */
13
15
  async findByClientId(clientId) {
14
16
  const client = await this.mikro.oauthClient.findOneOrFail({ clientId, deletedAt: null }, {
17
+ refresh: true,
15
18
  failHandler: () => new e.OAuthClientNotFound.Error(),
16
19
  });
17
20
  return {
@@ -98,23 +101,59 @@ export class OAuthClientService {
98
101
  return this.securityService.verifyClientSecret(client.clientSecretHash, clientSecret);
99
102
  }
100
103
  async validateClientSecretIfRequired(clientId, clientSecret) {
101
- const client = await this.mikro.oauthClient.findOne({ clientId, deletedAt: null }, { populate: ['clientSecretHash'] });
102
- if (!client) {
104
+ const client = await this.mikro.oauthClient.findOne({ clientId, deletedAt: null }, { populate: ['clientSecretHash'], refresh: true });
105
+ if (!client)
103
106
  throw new e.OAuthClientNotFound.Error();
104
- }
105
- if (!client.clientSecretHash) {
106
- if (clientSecret) {
107
- throw new e.InvalidClientCredentials.Error();
108
- }
109
- return;
110
- }
111
- if (!clientSecret) {
107
+ const epoch = client.tokenEpoch ?? '';
108
+ const hash = client.clientSecretHash;
109
+ const id = client.id;
110
+ if (hash
111
+ ? !clientSecret ||
112
+ !(await this.securityService.verifyClientSecret(hash, clientSecret))
113
+ : Boolean(clientSecret))
112
114
  throw new e.InvalidClientCredentials.Error();
113
- }
114
- const isValid = await this.securityService.verifyClientSecret(client.clientSecretHash, clientSecret);
115
- if (!isValid) {
115
+ return {
116
+ id,
117
+ clientId,
118
+ epoch,
119
+ kind: hash ? 'confidential' : 'public',
120
+ fingerprint: await this.securityService.hashOpaqueToken('oauth-client-authentication', hash ?? 'public'),
121
+ };
122
+ }
123
+ /** Requires an enclosing transaction. The proof is captured before credential verification yields. */
124
+ async lockAuthenticatedClient(proof, clientId, grantType) {
125
+ if (proof.clientId !== clientId)
126
+ throw new e.InvalidClientCredentials.Error();
127
+ const locked = await lockOAuthClient(this.mikro.em, proof.id);
128
+ const client = locked
129
+ ? await this.mikro.em.findOneOrFail(OAuthClientEntitySchema, { id: proof.id }, {
130
+ populate: ['clientSecretHash'],
131
+ refresh: true,
132
+ })
133
+ : null;
134
+ if (!client ||
135
+ client.clientId !== clientId ||
136
+ client.deletedAt ||
137
+ !client.enabled)
138
+ throw new e.InvalidClientCredentials.Error();
139
+ if (client.tokenEpoch !== proof.epoch) {
140
+ if (grantType === 'authorization_code')
141
+ throw new e.InvalidAuthorizationCode.Error();
142
+ if (grantType === 'refresh_token')
143
+ throw new e.InvalidRefreshToken.Error();
144
+ if (grantType === 'urn:ietf:params:oauth:grant-type:device_code')
145
+ throw new e.InvalidDeviceCode.Error();
116
146
  throw new e.InvalidClientCredentials.Error();
117
147
  }
148
+ const hash = client.clientSecretHash;
149
+ const fingerprint = await this.securityService.hashOpaqueToken('oauth-client-authentication', hash ?? 'public');
150
+ if (fingerprint !== proof.fingerprint ||
151
+ (hash ? 'confidential' : 'public') !== proof.kind)
152
+ throw new e.InvalidClientCredentials.Error();
153
+ const current = await this.findByClientId(clientId);
154
+ if (grantType)
155
+ this.validateGrantType(current, grantType);
156
+ return current;
118
157
  }
119
158
  async isPublicClient(clientId) {
120
159
  const client = await this.mikro.oauthClient.findOneOrFail({ clientId, deletedAt: null }, {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-client.service.js","sourceRoot":"","sources":["../../src/services/oauth-client.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-client.service.js","sourceRoot":"","sources":["../../src/services/oauth-client.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import z from 'zod';
2
+ import type { IUserOAuthEntity } from '../entities/user-oauth.entity.js';
2
3
  import type { IdentityProviderConfig, IssuaryRuntimeConfig } from '../lib/config/index.ts';
3
4
  import type { f } from '../schemas/field.ts';
4
5
  import type { r } from '../schemas/response.ts';
@@ -29,6 +30,27 @@ declare const OAuthTokensSchema: z.ZodObject<{
29
30
  id_token: z.ZodOptional<z.ZodString>;
30
31
  }, z.core.$strip>;
31
32
  export type OAuthTokens = z.infer<typeof OAuthTokensSchema>;
33
+ export interface OAuthLoginProof {
34
+ kind: 'linked';
35
+ linkId: IUserOAuthEntity['id'];
36
+ providerId: string;
37
+ providerUserId: string;
38
+ userSub: string;
39
+ userEpoch: string;
40
+ }
41
+ export type OAuthAuthenticationProof = OAuthLoginProof | {
42
+ kind: 'auto_link';
43
+ providerId: string;
44
+ providerUserId: string;
45
+ userSub: string;
46
+ userEpoch: string;
47
+ email: string;
48
+ } | {
49
+ kind: 'registration';
50
+ providerId: string;
51
+ providerUserId: string;
52
+ email: string;
53
+ };
32
54
  /**
33
55
  * OAuth session data stored in secure session
34
56
  * Used to maintain state during OAuth flow
@@ -44,6 +66,8 @@ export interface OAuthSessionData {
44
66
  mode: z.infer<typeof f.oauthConnectMode>;
45
67
  /** URL to return to after authentication */
46
68
  returnUrl?: string | undefined;
69
+ linkSubject?: string;
70
+ linkEpoch?: string;
47
71
  }
48
72
  /**
49
73
  * Result of OAuth authentication
@@ -53,7 +77,9 @@ export interface OAuthAuthResult {
53
77
  /** Whether this is a newly created user */
54
78
  isNewUser: boolean;
55
79
  /** Authenticated user session data */
56
- user: z.infer<typeof r.UserSession>;
80
+ user: z.infer<typeof r.UserSession> & {
81
+ token_epoch: string;
82
+ };
57
83
  }
58
84
  /**
59
85
  * Result of processing an OAuth callback.
@@ -71,10 +97,12 @@ export type OAuthCallbackResult = {
71
97
  } | {
72
98
  action: 'login_complete';
73
99
  userSub: string;
100
+ userEpoch: string;
74
101
  returnUrl: string | undefined;
75
102
  } | {
76
103
  action: 'login_terms_redirect';
77
104
  userSub: string;
105
+ userEpoch: string;
78
106
  termsUrl: string;
79
107
  };
80
108
  export declare class OAuthConnectService {
@@ -86,7 +114,7 @@ export declare class OAuthConnectService {
86
114
  /**
87
115
  * Process an OAuth callback: validate session, exchange tokens, and
88
116
  * determine the appropriate next action (redirect, login, link, terms).
89
- * Pure business logic no session writes or HTTP responses.
117
+ * The caller completes database mutations and browser state in one transaction.
90
118
  */
91
119
  processOAuthCallback(params: {
92
120
  provider: string;
@@ -95,6 +123,8 @@ export declare class OAuthConnectService {
95
123
  oauthSession: OAuthSessionData;
96
124
  userSub?: string | undefined;
97
125
  requestUrl: string;
126
+ completeLink?: (operation: () => Promise<void>) => Promise<void>;
127
+ completeAuthentication: (proof: OAuthAuthenticationProof, operation: () => Promise<OAuthCallbackResult>) => Promise<OAuthCallbackResult>;
98
128
  }): Promise<OAuthCallbackResult>;
99
129
  /**
100
130
  * Get all enabled OAuth providers
@@ -137,10 +167,13 @@ export declare class OAuthConnectService {
137
167
  * using the provider's userinfo_mapping configuration.
138
168
  */
139
169
  private mapUserInfo;
170
+ prepareExistingAuthentication(providerId: string, providerUserId: string): Promise<OAuthLoginProof | null>;
171
+ prepareAuthentication(providerId: string, userInfo: OAuthUserInfo): Promise<OAuthAuthenticationProof>;
172
+ private assertNewIdentity;
140
173
  /**
141
174
  * Authenticate with OAuth - login or register user
142
175
  */
143
- authenticateWithOAuth(providerId: string, tokens: OAuthTokens, userInfo: OAuthUserInfo): Promise<OAuthAuthResult>;
176
+ authenticateWithOAuth(providerId: string, tokens: OAuthTokens, userInfo: OAuthUserInfo, preparedProof?: OAuthAuthenticationProof): Promise<OAuthAuthResult>;
144
177
  /**
145
178
  * Check if a user would be new (not existing) for OAuth authentication
146
179
  * Used to determine if we should defer registration until terms consent
@@ -163,6 +196,7 @@ export declare class OAuthConnectService {
163
196
  /**
164
197
  * Link OAuth account to existing user
165
198
  */
199
+ private authenticationResultUser;
166
200
  linkOAuthAccount(userSub: string, providerId: string, tokens: OAuthTokens, userInfo: OAuthUserInfo): Promise<void>;
167
201
  /**
168
202
  * Unlink OAuth account from user
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-connect.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-connect.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-connect.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-connect.service.ts"],"names":[],"mappings":"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"}