@tinyrack/issuary-server 0.30.0 → 0.32.1

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 (478) 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 +438 -424
  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/client.js +1 -1
  77. package/dist/lib/config/client.js.map +1 -1
  78. package/dist/lib/config/email.d.ts +1 -0
  79. package/dist/lib/config/email.d.ts.map +1 -1
  80. package/dist/lib/config/email.js.map +1 -1
  81. package/dist/lib/database/entities.d.ts.map +1 -1
  82. package/dist/lib/database/entities.js +6 -0
  83. package/dist/lib/database/entities.js.map +1 -1
  84. package/dist/lib/openapi.d.ts +2 -0
  85. package/dist/lib/openapi.d.ts.map +1 -1
  86. package/dist/lib/openapi.js +36 -1
  87. package/dist/lib/openapi.js.map +1 -1
  88. package/dist/lib/request-ip.d.ts +4 -0
  89. package/dist/lib/request-ip.d.ts.map +1 -0
  90. package/dist/lib/request-ip.js +39 -0
  91. package/dist/lib/request-ip.js.map +1 -0
  92. package/dist/middleware/auth-budget.d.ts +3 -0
  93. package/dist/middleware/auth-budget.d.ts.map +1 -0
  94. package/dist/middleware/auth-budget.js +80 -0
  95. package/dist/middleware/auth-budget.js.map +1 -0
  96. package/dist/middleware/session.d.ts +23 -5
  97. package/dist/middleware/session.d.ts.map +1 -1
  98. package/dist/middleware/session.js +152 -12
  99. package/dist/middleware/session.js.map +1 -1
  100. package/dist/middleware/strict-input.d.ts +4 -0
  101. package/dist/middleware/strict-input.d.ts.map +1 -0
  102. package/dist/middleware/strict-input.js +144 -0
  103. package/dist/middleware/strict-input.js.map +1 -0
  104. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts +6 -0
  105. package/dist/migrations/postgres/Migration20260910120000_api_security.d.ts.map +1 -0
  106. package/dist/migrations/postgres/Migration20260910120000_api_security.js +20 -0
  107. package/dist/migrations/postgres/Migration20260910120000_api_security.js.map +1 -0
  108. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts +6 -0
  109. package/dist/migrations/postgres/Migration20260910160000_security_followup.d.ts.map +1 -0
  110. package/dist/migrations/postgres/Migration20260910160000_security_followup.js +23 -0
  111. package/dist/migrations/postgres/Migration20260910160000_security_followup.js.map +1 -0
  112. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts +6 -0
  113. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  114. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js +28 -0
  115. package/dist/migrations/postgres/Migration20260910200000_authentication_epoch.js.map +1 -0
  116. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts +6 -0
  117. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  118. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js +19 -0
  119. package/dist/migrations/postgres/Migration20260910220000_flow_revocation.js.map +1 -0
  120. package/dist/migrations/postgres/index.d.ts.map +1 -1
  121. package/dist/migrations/postgres/index.js +8 -0
  122. package/dist/migrations/postgres/index.js.map +1 -1
  123. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts +6 -0
  124. package/dist/migrations/sqlite/Migration20260910120000_api_security.d.ts.map +1 -0
  125. package/dist/migrations/sqlite/Migration20260910120000_api_security.js +20 -0
  126. package/dist/migrations/sqlite/Migration20260910120000_api_security.js.map +1 -0
  127. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts +6 -0
  128. package/dist/migrations/sqlite/Migration20260910160000_security_followup.d.ts.map +1 -0
  129. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js +23 -0
  130. package/dist/migrations/sqlite/Migration20260910160000_security_followup.js.map +1 -0
  131. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts +8 -0
  132. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.d.ts.map +1 -0
  133. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js +72 -0
  134. package/dist/migrations/sqlite/Migration20260910200000_authentication_epoch.js.map +1 -0
  135. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts +6 -0
  136. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.d.ts.map +1 -0
  137. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js +19 -0
  138. package/dist/migrations/sqlite/Migration20260910220000_flow_revocation.js.map +1 -0
  139. package/dist/migrations/sqlite/index.d.ts.map +1 -1
  140. package/dist/migrations/sqlite/index.js +8 -0
  141. package/dist/migrations/sqlite/index.js.map +1 -1
  142. package/dist/repositories/email-verification.repository.d.ts +1 -0
  143. package/dist/repositories/email-verification.repository.d.ts.map +1 -1
  144. package/dist/repositories/email-verification.repository.js +8 -17
  145. package/dist/repositories/email-verification.repository.js.map +1 -1
  146. package/dist/repositories/oauth-code.repository.d.ts +2 -0
  147. package/dist/repositories/oauth-code.repository.d.ts.map +1 -1
  148. package/dist/repositories/oauth-code.repository.js +8 -0
  149. package/dist/repositories/oauth-code.repository.js.map +1 -1
  150. package/dist/repositories/oauth-device-code.repository.d.ts +3 -0
  151. package/dist/repositories/oauth-device-code.repository.d.ts.map +1 -1
  152. package/dist/repositories/oauth-device-code.repository.js +64 -29
  153. package/dist/repositories/oauth-device-code.repository.js.map +1 -1
  154. package/dist/repositories/password-reset.repository.d.ts +1 -0
  155. package/dist/repositories/password-reset.repository.d.ts.map +1 -1
  156. package/dist/repositories/password-reset.repository.js +6 -19
  157. package/dist/repositories/password-reset.repository.js.map +1 -1
  158. package/dist/repositories/pending-oauth-registration.repository.d.ts +2 -0
  159. package/dist/repositories/pending-oauth-registration.repository.d.ts.map +1 -1
  160. package/dist/repositories/pending-oauth-registration.repository.js +16 -2
  161. package/dist/repositories/pending-oauth-registration.repository.js.map +1 -1
  162. package/dist/repositories/terms.repository.d.ts.map +1 -1
  163. package/dist/repositories/terms.repository.js +1 -0
  164. package/dist/repositories/terms.repository.js.map +1 -1
  165. package/dist/repositories/user-consent.repository.d.ts.map +1 -1
  166. package/dist/repositories/user-consent.repository.js +9 -3
  167. package/dist/repositories/user-consent.repository.js.map +1 -1
  168. package/dist/repositories/user-terms-consent.repository.d.ts.map +1 -1
  169. package/dist/repositories/user-terms-consent.repository.js +2 -0
  170. package/dist/repositories/user-terms-consent.repository.js.map +1 -1
  171. package/dist/repositories/user-totp-recovery-code.repository.d.ts +24 -0
  172. package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -1
  173. package/dist/repositories/user-totp.repository.d.ts +36 -0
  174. package/dist/repositories/user-totp.repository.d.ts.map +1 -1
  175. package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -1
  176. package/dist/routes/.well-known/openid-configuration/get.js +5 -1
  177. package/dist/routes/.well-known/openid-configuration/get.js.map +1 -1
  178. package/dist/routes/api/admin/console/index.d.ts.map +1 -1
  179. package/dist/routes/api/admin/console/index.js +29 -14
  180. package/dist/routes/api/admin/console/index.js.map +1 -1
  181. package/dist/routes/api/admin/me/get.js +2 -3
  182. package/dist/routes/api/admin/me/get.js.map +1 -1
  183. package/dist/routes/api/admin/users/index.d.ts.map +1 -1
  184. package/dist/routes/api/admin/users/index.js +59 -52
  185. package/dist/routes/api/admin/users/index.js.map +1 -1
  186. package/dist/routes/api/auth/accounts/select.post.d.ts +6 -6
  187. package/dist/routes/api/auth/email/resend/post.d.ts.map +1 -1
  188. package/dist/routes/api/auth/email/resend/post.js +3 -24
  189. package/dist/routes/api/auth/email/resend/post.js.map +1 -1
  190. package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -1
  191. package/dist/routes/api/auth/email/verify/post.js +29 -12
  192. package/dist/routes/api/auth/email/verify/post.js.map +1 -1
  193. package/dist/routes/api/auth/login/post.d.ts.map +1 -1
  194. package/dist/routes/api/auth/login/post.js +4 -3
  195. package/dist/routes/api/auth/login/post.js.map +1 -1
  196. package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
  197. package/dist/routes/api/auth/passkey/verify/post.js +25 -11
  198. package/dist/routes/api/auth/passkey/verify/post.js.map +1 -1
  199. package/dist/routes/api/auth/password/forgot/post.d.ts.map +1 -1
  200. package/dist/routes/api/auth/password/forgot/post.js +2 -19
  201. package/dist/routes/api/auth/password/forgot/post.js.map +1 -1
  202. package/dist/routes/api/auth/register/post.d.ts.map +1 -1
  203. package/dist/routes/api/auth/register/post.js +4 -3
  204. package/dist/routes/api/auth/register/post.js.map +1 -1
  205. package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -1
  206. package/dist/routes/api/auth/totp/recovery/verify/post.js +7 -5
  207. package/dist/routes/api/auth/totp/recovery/verify/post.js.map +1 -1
  208. package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -1
  209. package/dist/routes/api/auth/totp/verify/post.js +7 -5
  210. package/dist/routes/api/auth/totp/verify/post.js.map +1 -1
  211. package/dist/routes/api/consent/get.d.ts +3 -0
  212. package/dist/routes/api/consent/get.d.ts.map +1 -1
  213. package/dist/routes/api/consent/get.js +26 -4
  214. package/dist/routes/api/consent/get.js.map +1 -1
  215. package/dist/routes/api/consent/index.d.ts +3 -0
  216. package/dist/routes/api/consent/index.d.ts.map +1 -1
  217. package/dist/routes/api/consent/post.d.ts.map +1 -1
  218. package/dist/routes/api/consent/post.js +142 -114
  219. package/dist/routes/api/consent/post.js.map +1 -1
  220. package/dist/routes/api/docs/get.d.ts.map +1 -1
  221. package/dist/routes/api/docs/get.js +8 -1
  222. package/dist/routes/api/docs/get.js.map +1 -1
  223. package/dist/routes/api/index.d.ts +382 -379
  224. package/dist/routes/api/index.d.ts.map +1 -1
  225. package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
  226. package/dist/routes/api/oauth/_provider/authorize/get.js +5 -1
  227. package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
  228. package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -1
  229. package/dist/routes/api/oauth/_provider/callback/get.js +30 -6
  230. package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -1
  231. package/dist/routes/api/oauth/_provider/callback/post.d.ts +9 -9
  232. package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
  233. package/dist/routes/api/oauth/_provider/callback/post.js +31 -31
  234. package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
  235. package/dist/routes/api/oauth/_provider/delete.d.ts.map +1 -1
  236. package/dist/routes/api/oauth/_provider/delete.js +14 -11
  237. package/dist/routes/api/oauth/_provider/delete.js.map +1 -1
  238. package/dist/routes/api/terms/consent/post.d.ts.map +1 -1
  239. package/dist/routes/api/terms/consent/post.js +59 -43
  240. package/dist/routes/api/terms/consent/post.js.map +1 -1
  241. package/dist/routes/api/user/delete.d.ts.map +1 -1
  242. package/dist/routes/api/user/delete.js +8 -8
  243. package/dist/routes/api/user/delete.js.map +1 -1
  244. package/dist/routes/api/user/passkeys/_id/delete.d.ts.map +1 -1
  245. package/dist/routes/api/user/passkeys/_id/delete.js +17 -29
  246. package/dist/routes/api/user/passkeys/_id/delete.js.map +1 -1
  247. package/dist/routes/api/user/passkeys/_id/patch.d.ts.map +1 -1
  248. package/dist/routes/api/user/passkeys/_id/patch.js +16 -13
  249. package/dist/routes/api/user/passkeys/_id/patch.js.map +1 -1
  250. package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -1
  251. package/dist/routes/api/user/passkeys/register/verify/post.js +27 -19
  252. package/dist/routes/api/user/passkeys/register/verify/post.js.map +1 -1
  253. package/dist/routes/api/user/password/delete.d.ts.map +1 -1
  254. package/dist/routes/api/user/password/delete.js +13 -10
  255. package/dist/routes/api/user/password/delete.js.map +1 -1
  256. package/dist/routes/api/user/password/post.d.ts.map +1 -1
  257. package/dist/routes/api/user/password/post.js +13 -10
  258. package/dist/routes/api/user/password/post.js.map +1 -1
  259. package/dist/routes/api/user/password/put.d.ts.map +1 -1
  260. package/dist/routes/api/user/password/put.js +13 -10
  261. package/dist/routes/api/user/password/put.js.map +1 -1
  262. package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -1
  263. package/dist/routes/api/user/totp/confirm/post.js +33 -18
  264. package/dist/routes/api/user/totp/confirm/post.js.map +1 -1
  265. package/dist/routes/api/user/totp/delete.d.ts.map +1 -1
  266. package/dist/routes/api/user/totp/delete.js +13 -18
  267. package/dist/routes/api/user/totp/delete.js.map +1 -1
  268. package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts.map +1 -1
  269. package/dist/routes/api/user/totp/recovery/regenerate/post.js +13 -10
  270. package/dist/routes/api/user/totp/recovery/regenerate/post.js.map +1 -1
  271. package/dist/routes/api/user/totp/setup/post.d.ts.map +1 -1
  272. package/dist/routes/api/user/totp/setup/post.js +13 -8
  273. package/dist/routes/api/user/totp/setup/post.js.map +1 -1
  274. package/dist/routes/api/user/totp/verify/post.d.ts.map +1 -1
  275. package/dist/routes/api/user/totp/verify/post.js +23 -12
  276. package/dist/routes/api/user/totp/verify/post.js.map +1 -1
  277. package/dist/routes/index.d.ts +243 -230
  278. package/dist/routes/index.d.ts.map +1 -1
  279. package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
  280. package/dist/routes/oauth/authorize/get.js +12 -4
  281. package/dist/routes/oauth/authorize/get.js.map +1 -1
  282. package/dist/routes/oauth/device/get-post.d.ts +10 -0
  283. package/dist/routes/oauth/device/get-post.d.ts.map +1 -1
  284. package/dist/routes/oauth/device/get-post.js +32 -3
  285. package/dist/routes/oauth/device/get-post.js.map +1 -1
  286. package/dist/routes/oauth/device-authorization/post.d.ts.map +1 -1
  287. package/dist/routes/oauth/device-authorization/post.js +13 -7
  288. package/dist/routes/oauth/device-authorization/post.js.map +1 -1
  289. package/dist/routes/oauth/end-session/get.d.ts +9 -9
  290. package/dist/routes/oauth/end-session/get.d.ts.map +1 -1
  291. package/dist/routes/oauth/end-session/get.js +2 -3
  292. package/dist/routes/oauth/end-session/get.js.map +1 -1
  293. package/dist/routes/oauth/index.d.ts +19 -9
  294. package/dist/routes/oauth/index.d.ts.map +1 -1
  295. package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
  296. package/dist/routes/oauth/revoke/post.js +10 -2
  297. package/dist/routes/oauth/revoke/post.js.map +1 -1
  298. package/dist/routes/oauth/token/post.d.ts.map +1 -1
  299. package/dist/routes/oauth/token/post.js +69 -57
  300. package/dist/routes/oauth/token/post.js.map +1 -1
  301. package/dist/schemas/error.d.ts +75 -0
  302. package/dist/schemas/error.d.ts.map +1 -1
  303. package/dist/schemas/error.js +3 -0
  304. package/dist/schemas/error.js.map +1 -1
  305. package/dist/schemas/field.d.ts.map +1 -1
  306. package/dist/schemas/field.js +3 -0
  307. package/dist/schemas/field.js.map +1 -1
  308. package/dist/seeders/config.seeder.d.ts +1 -1
  309. package/dist/seeders/config.seeder.d.ts.map +1 -1
  310. package/dist/seeders/config.seeder.js +100 -36
  311. package/dist/seeders/config.seeder.js.map +1 -1
  312. package/dist/services/admin-console.service.d.ts.map +1 -1
  313. package/dist/services/admin-console.service.js +137 -100
  314. package/dist/services/admin-console.service.js.map +1 -1
  315. package/dist/services/auth-budget.service.d.ts +6 -0
  316. package/dist/services/auth-budget.service.d.ts.map +1 -0
  317. package/dist/services/auth-budget.service.js +30 -0
  318. package/dist/services/auth-budget.service.js.map +1 -0
  319. package/dist/services/authentication-epoch.d.ts +5 -0
  320. package/dist/services/authentication-epoch.d.ts.map +1 -0
  321. package/dist/services/authentication-epoch.js +22 -0
  322. package/dist/services/authentication-epoch.js.map +1 -0
  323. package/dist/services/authorization-browser.service.d.ts +18 -0
  324. package/dist/services/authorization-browser.service.d.ts.map +1 -0
  325. package/dist/services/authorization-browser.service.js +28 -0
  326. package/dist/services/authorization-browser.service.js.map +1 -0
  327. package/dist/services/browser-security.service.d.ts +14 -0
  328. package/dist/services/browser-security.service.d.ts.map +1 -0
  329. package/dist/services/browser-security.service.js +85 -0
  330. package/dist/services/browser-security.service.js.map +1 -0
  331. package/dist/services/browser-session.service.d.ts +25 -0
  332. package/dist/services/browser-session.service.d.ts.map +1 -0
  333. package/dist/services/browser-session.service.js +102 -0
  334. package/dist/services/browser-session.service.js.map +1 -0
  335. package/dist/services/cleanup.service.d.ts +1 -0
  336. package/dist/services/cleanup.service.d.ts.map +1 -1
  337. package/dist/services/cleanup.service.js +31 -0
  338. package/dist/services/cleanup.service.js.map +1 -1
  339. package/dist/services/client-security.d.ts +641 -0
  340. package/dist/services/client-security.d.ts.map +1 -0
  341. package/dist/services/client-security.js +10 -0
  342. package/dist/services/client-security.js.map +1 -0
  343. package/dist/services/container.d.ts +2 -0
  344. package/dist/services/container.d.ts.map +1 -1
  345. package/dist/services/container.js +7 -3
  346. package/dist/services/container.js.map +1 -1
  347. package/dist/services/email.service.d.ts +2 -14
  348. package/dist/services/email.service.d.ts.map +1 -1
  349. package/dist/services/email.service.js +35 -29
  350. package/dist/services/email.service.js.map +1 -1
  351. package/dist/services/jwt.service.d.ts +1 -0
  352. package/dist/services/jwt.service.d.ts.map +1 -1
  353. package/dist/services/jwt.service.js +13 -1
  354. package/dist/services/jwt.service.js.map +1 -1
  355. package/dist/services/mail-queue.service.d.ts +24 -0
  356. package/dist/services/mail-queue.service.d.ts.map +1 -0
  357. package/dist/services/mail-queue.service.js +223 -0
  358. package/dist/services/mail-queue.service.js.map +1 -0
  359. package/dist/services/mikro.service.d.ts.map +1 -1
  360. package/dist/services/mikro.service.js +2 -0
  361. package/dist/services/mikro.service.js.map +1 -1
  362. package/dist/services/oauth-authorize.service.d.ts +6 -1
  363. package/dist/services/oauth-authorize.service.d.ts.map +1 -1
  364. package/dist/services/oauth-authorize.service.js +136 -77
  365. package/dist/services/oauth-authorize.service.js.map +1 -1
  366. package/dist/services/oauth-browser-security.service.d.ts +7 -0
  367. package/dist/services/oauth-browser-security.service.d.ts.map +1 -0
  368. package/dist/services/oauth-browser-security.service.js +67 -0
  369. package/dist/services/oauth-browser-security.service.js.map +1 -0
  370. package/dist/services/oauth-client.service.d.ts +24 -1
  371. package/dist/services/oauth-client.service.d.ts.map +1 -1
  372. package/dist/services/oauth-client.service.js +52 -13
  373. package/dist/services/oauth-client.service.js.map +1 -1
  374. package/dist/services/oauth-connect.service.d.ts +37 -3
  375. package/dist/services/oauth-connect.service.d.ts.map +1 -1
  376. package/dist/services/oauth-connect.service.js +236 -212
  377. package/dist/services/oauth-connect.service.js.map +1 -1
  378. package/dist/services/oauth-token.service.d.ts +6 -4
  379. package/dist/services/oauth-token.service.d.ts.map +1 -1
  380. package/dist/services/oauth-token.service.js +295 -209
  381. package/dist/services/oauth-token.service.js.map +1 -1
  382. package/dist/services/passkey.service.d.ts +26 -7
  383. package/dist/services/passkey.service.d.ts.map +1 -1
  384. package/dist/services/passkey.service.js +71 -42
  385. package/dist/services/passkey.service.js.map +1 -1
  386. package/dist/services/password-auth.service.d.ts +5 -1
  387. package/dist/services/password-auth.service.d.ts.map +1 -1
  388. package/dist/services/password-auth.service.js +79 -52
  389. package/dist/services/password-auth.service.js.map +1 -1
  390. package/dist/services/password-reset.service.d.ts.map +1 -1
  391. package/dist/services/password-reset.service.js +34 -15
  392. package/dist/services/password-reset.service.js.map +1 -1
  393. package/dist/services/security.service.d.ts +3 -1
  394. package/dist/services/security.service.d.ts.map +1 -1
  395. package/dist/services/security.service.js +11 -2
  396. package/dist/services/security.service.js.map +1 -1
  397. package/dist/services/terms-policy.service.d.ts +7 -0
  398. package/dist/services/terms-policy.service.d.ts.map +1 -0
  399. package/dist/services/terms-policy.service.js +26 -0
  400. package/dist/services/terms-policy.service.js.map +1 -0
  401. package/dist/services/terms.service.d.ts.map +1 -1
  402. package/dist/services/terms.service.js +3 -2
  403. package/dist/services/terms.service.js.map +1 -1
  404. package/dist/services/totp.service.d.ts +4 -5
  405. package/dist/services/totp.service.d.ts.map +1 -1
  406. package/dist/services/totp.service.js +116 -86
  407. package/dist/services/totp.service.js.map +1 -1
  408. package/dist/services/user-consent.service.d.ts +12 -0
  409. package/dist/services/user-consent.service.d.ts.map +1 -1
  410. package/dist/services/user-consent.service.js +19 -1
  411. package/dist/services/user-consent.service.js.map +1 -1
  412. package/dist/services/user-security.service.d.ts +15 -0
  413. package/dist/services/user-security.service.d.ts.map +1 -0
  414. package/dist/services/user-security.service.js +57 -0
  415. package/dist/services/user-security.service.js.map +1 -0
  416. package/dist/services/user.service.d.ts +6 -4
  417. package/dist/services/user.service.d.ts.map +1 -1
  418. package/dist/services/user.service.js +143 -121
  419. package/dist/services/user.service.js.map +1 -1
  420. package/frontend/client/assets/{auth-layout-B4h13HhN.js → auth-layout-sea6nww4.js} +1 -1
  421. package/frontend/client/assets/{auth-page-header-BVY4zRzF.js → auth-page-header-CV85AJLW.js} +1 -1
  422. package/frontend/client/assets/document-navigation-FZbb5ldf.js +1 -0
  423. package/frontend/client/assets/i18n-vfKY-byx.js +1 -0
  424. package/frontend/client/assets/language-selector-Jso2cQNI.js +1 -0
  425. package/frontend/client/assets/manifest-90703545.js +1 -0
  426. package/frontend/client/assets/oauth-search-DebNssaC.js +1 -0
  427. package/frontend/client/assets/{passkey-CWcdr7Vy.js → passkey-CJhT-7yO.js} +1 -1
  428. package/frontend/client/assets/{promise-EbDcmV0j.js → promise-BP9iSIs-.js} +1 -1
  429. package/frontend/client/assets/{root-C2SlHCkE.js → root-BkavuloG.js} +1 -1
  430. package/frontend/client/assets/{route-3gQ9Nsqa.js → route-B0udr9eT.js} +1 -1
  431. package/frontend/client/assets/route-B3Uv9aTa.js +1 -0
  432. package/frontend/client/assets/{route-DSD60oyb.js → route-B6hIfgxz.js} +1 -1
  433. package/frontend/client/assets/{route-DO38I3ML.js → route-BEWds2g-.js} +1 -1
  434. package/frontend/client/assets/route-Bm9LsorH.js +1 -0
  435. package/frontend/client/assets/route-Btv5Y69z.js +1 -0
  436. package/frontend/client/assets/route-BvyDzziE.js +1 -0
  437. package/frontend/client/assets/route-C6kG9u7j.js +1 -0
  438. package/frontend/client/assets/route-C7C3Z0vI.js +1 -0
  439. package/frontend/client/assets/{route-DQpLeFuG.js → route-CVyefM3x.js} +1 -1
  440. package/frontend/client/assets/{route-CkpB3-_U.js → route-CXth2Wqz.js} +1 -1
  441. package/frontend/client/assets/{route-9FLiqn21.js → route-Clxc1C2d.js} +1 -1
  442. package/frontend/client/assets/route-D0IqOurp.js +1 -0
  443. package/frontend/client/assets/route-DHmYUnJR.js +1 -0
  444. package/frontend/client/assets/route-DTjZQ_Fl.js +1 -0
  445. package/frontend/client/assets/route-D_dTeu1b.js +1 -0
  446. package/frontend/client/assets/{route-CrswLAAa.js → route-Dj8gVemC.js} +1 -1
  447. package/frontend/client/assets/{route-BUM2hTU8.js → route-DnhPlHOi.js} +1 -1
  448. package/frontend/client/assets/route-FY92YQhF.js +1 -0
  449. package/frontend/client/assets/{route-DH6kQz8L.js → route-PcLpZHbT.js} +1 -1
  450. package/frontend/client/assets/{route-bKG0wKRh.js → route-qpE7i22X.js} +1 -1
  451. package/frontend/client/assets/{route-3IIrVTOK.js → route-wK89gmoS.js} +1 -1
  452. package/frontend/client/assets/security-error-message-CMsTsiWf.js +1 -0
  453. package/frontend/client/assets/{shell-header-bar-Bg85QIAq.js → shell-header-bar-DRx10tE5.js} +1 -1
  454. package/frontend/client/assets/{terms-DV0oDTRf.js → terms-Bu9Itxxs.js} +1 -1
  455. package/frontend/client/assets/{use-totp-setup-D7XZ6Nos.js → use-totp-setup-CoOXWOcT.js} +1 -1
  456. package/frontend/server/assets/{hydration-Cvbp7-6s.js → hydration-DWMjpNav.js} +1 -1
  457. package/frontend/server/assets/{root-loader.server-DaTcVcNU.js → root-loader.server-B4OqoLGG.js} +3 -3
  458. package/frontend/server/assets/{route-runtime.server-CEa264cW.js → route-runtime.server-03_pjVDT.js} +1 -1
  459. package/frontend/server/assets/{session-QqvIIQ6R.js → session-sJkmzJie.js} +51 -57
  460. package/frontend/server/index.js +337 -403
  461. package/package.json +1 -1
  462. package/frontend/client/assets/authorization-context-banner-az4f8FCY.js +0 -1
  463. package/frontend/client/assets/document-navigation-Cnp3Alf0.js +0 -1
  464. package/frontend/client/assets/i18n-CMepi_uj.js +0 -1
  465. package/frontend/client/assets/language-selector-Chn-k7Pw.js +0 -1
  466. package/frontend/client/assets/manifest-8c4a603f.js +0 -1
  467. package/frontend/client/assets/oauth-search-DybZ6VWp.js +0 -1
  468. package/frontend/client/assets/route-BFU8OK2a.js +0 -1
  469. package/frontend/client/assets/route-BKI6LDOW.js +0 -1
  470. package/frontend/client/assets/route-CusK9Y2K.js +0 -1
  471. package/frontend/client/assets/route-DEVG2czp.js +0 -1
  472. package/frontend/client/assets/route-DjCJn53Y.js +0 -1
  473. package/frontend/client/assets/route-E-_SSP-x.js +0 -1
  474. package/frontend/client/assets/route-J9z_OG4L.js +0 -1
  475. package/frontend/client/assets/route-LjqDZz5f.js +0 -1
  476. package/frontend/client/assets/route-N586tYcn.js +0 -1
  477. package/frontend/client/assets/route-nHjY3_n0.js +0 -1
  478. package/frontend/client/assets/route-sHm4cfOd.js +0 -1
@@ -2,17 +2,18 @@ import { Hono } from 'hono';
2
2
  import { describeRoute, resolver, validator } from 'hono-openapi';
3
3
  import { z } from 'zod';
4
4
  import { escapeHtml } from '../../../lib/escape-html.js';
5
- import { OPENAPI_SECURITY } from '../../../lib/openapi.js';
5
+ import { OPENAPI_SECURITY, securityMutationDocumentation, } from '../../../lib/openapi.js';
6
6
  import { TAGS } from '../../../lib/swagger-tags.js';
7
7
  import { verifyAuth } from '../../../middleware/auth.js';
8
8
  import { e } from '../../../schemas/error.js';
9
9
  import { f } from '../../../schemas/field.js';
10
10
  import { r } from '../../../schemas/response.js';
11
+ import { completeBrowserAuthorization } from '../../../services/authorization-browser.service.js';
11
12
  export const authorizeGet = new Hono().get('/authorize', describeRoute({
12
13
  tags: [TAGS.OPENID],
13
14
  security: OPENAPI_SECURITY.optionalCookieSession,
14
15
  summary: 'Authorize',
15
- description: 'OAuth2 Authorization Endpoint',
16
+ description: 'OAuth2 Authorization Endpoint. Grant issuance and browser session persistence commit atomically; revoked browser authentication returns 401 without authorization credentials. Final issuance rechecks current scope consent, consent exemption and mandatory terms under policy locks. Newly required consent or terms returns to the corresponding screen, or an OAuth interaction error for prompt=none, without issuing authorization credentials.',
16
17
  responses: {
17
18
  302: {
18
19
  description: 'Redirect',
@@ -66,7 +67,7 @@ export const authorizeGet = new Hono().get('/authorize', describeRoute({
66
67
  ui_locales: z.string().min(1).max(1000).optional(),
67
68
  id_token_hint: z.string().min(1).max(4000).optional(),
68
69
  acr_values: z.string().min(1).max(1000).optional(),
69
- })), verifyAuth({ optional: true }), async (c) => {
70
+ })), verifyAuth({ optional: true }), securityMutationDocumentation, async (c) => {
70
71
  const query = c.req.valid('query');
71
72
  const { oauthAuthorizeService } = c.var.services;
72
73
  // Helper function to redirect with error
@@ -125,7 +126,11 @@ export const authorizeGet = new Hono().get('/authorize', describeRoute({
125
126
  authorizeParams.setAccountSelectionSession = (state) => c.var.session.set('accountSelection', state);
126
127
  authorizeParams.setReauthenticationSession = (state) => c.var.session.set('reauthentication', state);
127
128
  authorizeParams.clearAccountSelectionSession = () => c.var.session.set('accountSelection', undefined);
128
- const result = await oauthAuthorizeService.authorize(authorizeParams);
129
+ const result = await oauthAuthorizeService.authorize({
130
+ ...authorizeParams,
131
+ completeAuthorization: (proof, operation) => completeBrowserAuthorization(c, proof, operation),
132
+ authenticationEpochs: c.var.session.authorization.security?.grants ?? {},
133
+ });
129
134
  if (result.type === 'form_post') {
130
135
  return c.html(buildFormPostResponse(result.url, result.params ?? {}));
131
136
  }
@@ -133,6 +138,9 @@ export const authorizeGet = new Hono().get('/authorize', describeRoute({
133
138
  return c.redirect(result.url);
134
139
  }
135
140
  catch (error) {
141
+ if (error instanceof e.Unauthorized.Error ||
142
+ error instanceof e.ConcurrentSecurityChange.Error)
143
+ throw error;
136
144
  // RFC 6749 §4.1.2.1: If client_id is invalid or redirect_uri validation fails,
137
145
  // do NOT redirect to the provided redirect_uri
138
146
  if (error instanceof e.OAuthClientNotFound.Error) {
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/authorize/get.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,16 @@ export declare const deviceGetPost: import("hono/hono-base").HonoBase<AppEnv, {
11
11
  } & {
12
12
  "/device": {
13
13
  $post: {
14
+ output: undefined;
15
+ outputFormat: "redirect";
16
+ status: 303;
17
+ input: {
18
+ form: {
19
+ user_code: import("hono/types").ParsedFormValue[] | import("hono/types").ParsedFormValue;
20
+ decision?: "approve" | "deny" | undefined;
21
+ };
22
+ };
23
+ } | {
14
24
  output: {
15
25
  status: string;
16
26
  client_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"get-post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/device/get-post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAWtD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwFvB,CAAC"}
1
+ {"version":3,"file":"get-post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/device/get-post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAkBtD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAwIvB,CAAC"}
@@ -2,13 +2,19 @@ import { Hono } from 'hono';
2
2
  import { describeRoute, validator } from 'hono-openapi';
3
3
  import { z } from 'zod';
4
4
  import { escapeHtml } from '../../../lib/escape-html.js';
5
+ import { securityMutationDocumentation } from '../../../lib/openapi.js';
5
6
  import { TAGS } from '../../../lib/swagger-tags.js';
6
7
  import { verifyAuth } from '../../../middleware/auth.js';
7
8
  import { e } from '../../../schemas/error.js';
9
+ import { withBrowserSecurity } from '../../../services/browser-security.service.js';
8
10
  const DeviceVerificationRequestBody = z.object({
9
11
  user_code: z.string().min(1).max(64),
10
12
  decision: z.enum(['approve', 'deny']).default('approve'),
11
13
  });
14
+ function deviceTermsLocation(userCode) {
15
+ const redirect = `/oauth/device?${new URLSearchParams({ user_code: userCode })}`;
16
+ return `/terms?${new URLSearchParams({ redirect })}`;
17
+ }
12
18
  export const deviceGetPost = new Hono()
13
19
  .get('/device', describeRoute({
14
20
  tags: [TAGS.OPENID],
@@ -16,6 +22,9 @@ export const deviceGetPost = new Hono()
16
22
  description: 'User-facing OAuth device verification page',
17
23
  responses: {
18
24
  200: { description: 'Device verification form' },
25
+ 303: {
26
+ description: 'Accept required terms and return to this device confirmation',
27
+ },
19
28
  },
20
29
  }), verifyAuth({ optional: true }), async (c) => {
21
30
  const userCode = c.req.query('user_code') ?? '';
@@ -30,6 +39,8 @@ export const deviceGetPost = new Hono()
30
39
  const userCodeHash = await securityService.hashOpaqueToken('oauth-device-user-code', userCode.toUpperCase());
31
40
  const deviceCode = await mikro.oauthDeviceCode.findPendingByUserCodeHash(userCodeHash);
32
41
  if (deviceCode) {
42
+ if ((await c.var.services.termsService.getPendingRequiredTerms(verifiedUser.user.sub)).length > 0)
43
+ return c.redirect(deviceTermsLocation(userCode), 303);
33
44
  await mikro.em.populate(deviceCode, ['client']);
34
45
  const scopes = deviceCode.scope
35
46
  .map((scope) => `<li>${escapeHtml(scope)}</li>`)
@@ -37,7 +48,10 @@ export const deviceGetPost = new Hono()
37
48
  deviceDetails = `<section><h2>${escapeHtml(deviceCode.client.name)}</h2><p>Requested scopes:</p><ul>${scopes}</ul></section>`;
38
49
  }
39
50
  }
40
- return c.html(`<!doctype html><html><body>${deviceDetails}<form method="post"><input name="user_code" value="${escapeHtml(userCode)}"><button type="submit" name="decision" value="approve">Approve</button><button type="submit" name="decision" value="deny">Deny</button></form></body></html>`);
51
+ // Native POST forms use an opaque Origin under no-referrer. Preserve
52
+ // the first-party Origin for CSRF without sending a cross-site referrer.
53
+ c.header('Referrer-Policy', 'same-origin');
54
+ return c.html(`<!doctype html><html><body>${deviceDetails}<form method="post" action="/oauth/device"><input name="user_code" value="${escapeHtml(userCode)}"><button type="submit" name="decision" value="approve">Approve</button><button type="submit" name="decision" value="deny">Deny</button></form></body></html>`);
41
55
  })
42
56
  .post('/device', describeRoute({
43
57
  tags: [TAGS.OPENID],
@@ -46,11 +60,21 @@ export const deviceGetPost = new Hono()
46
60
  responses: {
47
61
  200: { description: 'Device authorization approved' },
48
62
  400: { description: 'Invalid device user code' },
63
+ 303: {
64
+ description: 'Accept required terms and return to device approval; the device remains pending',
65
+ },
49
66
  },
50
- }), validator('form', DeviceVerificationRequestBody), verifyAuth(), async (c) => {
67
+ }), validator('form', DeviceVerificationRequestBody), verifyAuth(), securityMutationDocumentation, async (c) => withBrowserSecurity(c, async () => {
51
68
  const { decision, user_code: userCode } = c.req.valid('form');
52
69
  const { mikro, securityService } = c.var.services;
53
70
  const userCodeHash = await securityService.hashOpaqueToken('oauth-device-user-code', userCode.toUpperCase());
71
+ if (decision === 'approve') {
72
+ const pending = await mikro.oauthDeviceCode.findPendingByUserCodeHash(userCodeHash);
73
+ if (!pending)
74
+ throw new e.InvalidDeviceCode.Error();
75
+ if ((await c.var.services.termsService.getPendingRequiredTerms(c.var.verifiedUser.user.sub)).length > 0)
76
+ return c.redirect(deviceTermsLocation(userCode), 303);
77
+ }
54
78
  const now = new Date();
55
79
  const deviceCode = decision === 'deny'
56
80
  ? await mikro.oauthDeviceCode.denyPendingByUserCodeHash({
@@ -61,6 +85,7 @@ export const deviceGetPost = new Hono()
61
85
  userCodeHash,
62
86
  userSub: c.var.verifiedUser.user.sub,
63
87
  approvedAt: now,
88
+ userEpoch: c.var.session.authorization.security?.grants[c.var.verifiedUser.user.sub] ?? '',
64
89
  });
65
90
  if (!deviceCode) {
66
91
  throw new e.InvalidDeviceCode.Error();
@@ -69,5 +94,9 @@ export const deviceGetPost = new Hono()
69
94
  status: decision === 'deny' ? 'denied' : 'approved',
70
95
  client_id: deviceCode.client.clientId,
71
96
  });
72
- });
97
+ }, {
98
+ ...(c.req.valid('form').decision === 'approve' && {
99
+ termsPolicy: 'read',
100
+ }),
101
+ }));
73
102
  //# sourceMappingURL=get-post.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/device/get-post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/device/get-post.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/device-authorization/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AA0BtD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;gCA6FnC,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/device-authorization/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AA2BtD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;gCAuGnC,CAAC"}
@@ -50,8 +50,9 @@ export const deviceAuthorizationPost = new Hono().post('/device_authorization',
50
50
  oauthClientService.validateEnabled(client);
51
51
  oauthClientService.validateGrantType(client, DEVICE_CODE_GRANT_TYPE);
52
52
  const clientSecret = basicCredentials?.clientSecret ?? body.client_secret;
53
+ let authentication;
53
54
  try {
54
- await oauthClientService.validateClientSecretIfRequired(clientId, clientSecret);
55
+ authentication = await oauthClientService.validateClientSecretIfRequired(clientId, clientSecret);
55
56
  }
56
57
  catch (err) {
57
58
  if (authorizationHeader) {
@@ -65,12 +66,17 @@ export const deviceAuthorizationPost = new Hono().post('/device_authorization',
65
66
  const userCode = createUserCode();
66
67
  const deviceCodeHash = await securityService.hashOpaqueToken('oauth-device-code', deviceCode);
67
68
  const userCodeHash = await securityService.hashOpaqueToken('oauth-device-user-code', userCode);
68
- await mikro.oauthDeviceCode.createDeviceAuthorization({
69
- clientId: client.id,
70
- deviceCodeHash,
71
- userCodeHash,
72
- scope: requestedScopes,
73
- expiresInSeconds: DEVICE_CODE_EXPIRES_IN,
69
+ await mikro.em.transactional(async () => {
70
+ const current = await oauthClientService.lockAuthenticatedClient(authentication, clientId, DEVICE_CODE_GRANT_TYPE);
71
+ oauthClientService.validateScopes(current, requestedScopes);
72
+ await mikro.oauthDeviceCode.createDeviceAuthorization({
73
+ clientId: client.id,
74
+ clientEpoch: authentication.epoch,
75
+ deviceCodeHash,
76
+ userCodeHash,
77
+ scope: requestedScopes,
78
+ expiresInSeconds: DEVICE_CODE_EXPIRES_IN,
79
+ });
74
80
  });
75
81
  const verificationUri = `${config.server.public_origin}/oauth/device`;
76
82
  const verificationUriComplete = new URL(verificationUri);
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/device-authorization/post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/device-authorization/post.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,12 @@ import type { AppEnv } from '../../../lib/app-env.js';
2
2
  export declare const endSessionGet: import("hono/hono-base").HonoBase<AppEnv, {
3
3
  "/end_session": {
4
4
  $get: {
5
- output: undefined;
6
- outputFormat: "redirect";
7
- status: 302;
5
+ output: {
6
+ error: string;
7
+ error_description: string;
8
+ };
9
+ outputFormat: "json";
10
+ status: 400;
8
11
  input: {
9
12
  query: {
10
13
  client_id?: string | undefined;
@@ -14,12 +17,9 @@ export declare const endSessionGet: import("hono/hono-base").HonoBase<AppEnv, {
14
17
  };
15
18
  };
16
19
  } | {
17
- output: {
18
- error: string;
19
- error_description: string;
20
- };
21
- outputFormat: "json";
22
- status: 400;
20
+ output: undefined;
21
+ outputFormat: "redirect";
22
+ status: 302;
23
23
  input: {
24
24
  query: {
25
25
  client_id?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/end-session/get.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+GzB,CAAC"}
1
+ {"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/end-session/get.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA+GzB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { Hono } from 'hono';
2
- import { deleteCookie } from 'hono/cookie';
3
2
  import { describeRoute, resolver, validator } from 'hono-openapi';
4
3
  import { z } from 'zod';
5
4
  import { TAGS } from '../../../lib/swagger-tags.js';
@@ -28,7 +27,7 @@ export const endSessionGet = new Hono().get('/end_session', describeRoute({
28
27
  const query = c.req.valid('query');
29
28
  const { config, jwtService, oauthClientService } = c.var.services;
30
29
  if (!query.post_logout_redirect_uri) {
31
- deleteCookie(c, 'session', { path: '/' });
30
+ c.var.session.delete();
32
31
  return c.redirect(config.server.public_origin);
33
32
  }
34
33
  let clientId = query.client_id;
@@ -77,7 +76,7 @@ export const endSessionGet = new Hono().get('/end_session', describeRoute({
77
76
  if (query.state) {
78
77
  redirectUrl.searchParams.set('state', query.state);
79
78
  }
80
- deleteCookie(c, 'session', { path: '/' });
79
+ c.var.session.delete();
81
80
  return c.redirect(redirectUrl.toString());
82
81
  });
83
82
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/end-session/get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/routes/oauth/end-session/get.ts"],"names":[],"mappings":"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"}
@@ -71,12 +71,9 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
71
71
  }, "/"> | import("hono/types").MergeSchemaPath<{
72
72
  "/end_session": {
73
73
  $get: {
74
- output: {
75
- error: string;
76
- error_description: string;
77
- };
78
- outputFormat: "json";
79
- status: 400;
74
+ output: undefined;
75
+ outputFormat: "redirect";
76
+ status: 302;
80
77
  input: {
81
78
  query: {
82
79
  client_id?: string | undefined;
@@ -86,9 +83,12 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
86
83
  };
87
84
  };
88
85
  } | {
89
- output: undefined;
90
- outputFormat: "redirect";
91
- status: 302;
86
+ output: {
87
+ error: string;
88
+ error_description: string;
89
+ };
90
+ outputFormat: "json";
91
+ status: 400;
92
92
  input: {
93
93
  query: {
94
94
  client_id?: string | undefined;
@@ -222,6 +222,16 @@ export declare const oauthApplicationRoutes: import("hono/hono-base").HonoBase<A
222
222
  } & {
223
223
  "/device": {
224
224
  $post: {
225
+ output: undefined;
226
+ outputFormat: "redirect";
227
+ status: 303;
228
+ input: {
229
+ form: {
230
+ user_code: import("hono/types").ParsedFormValue[] | import("hono/types").ParsedFormValue;
231
+ decision?: "approve" | "deny" | undefined;
232
+ };
233
+ };
234
+ } | {
225
235
  output: {
226
236
  status: string;
227
237
  client_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/oauth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAanD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWP,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/oauth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAanD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAWP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/revoke/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAoBtD;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;kBA8GtB,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/revoke/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAqBtD;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;kBAsHtB,CAAC"}
@@ -87,8 +87,9 @@ export const revokePost = new Hono().post('/revoke', describeRoute({
87
87
  throw new e.OAuthClientDisabled.Error();
88
88
  }
89
89
  const clientSecret = basicCredentials?.clientSecret ?? body.client_secret;
90
+ let authentication;
90
91
  try {
91
- await oauthClientService.validateClientSecretIfRequired(clientId, clientSecret);
92
+ authentication = await oauthClientService.validateClientSecretIfRequired(clientId, clientSecret);
92
93
  }
93
94
  catch (err) {
94
95
  if (authorizationHeader) {
@@ -96,7 +97,14 @@ export const revokePost = new Hono().post('/revoke', describeRoute({
96
97
  }
97
98
  throw err;
98
99
  }
99
- await oauthTokenService.revokeToken(body.token, body.token_type_hint, clientId);
100
+ try {
101
+ await oauthTokenService.revokeToken(body.token, body.token_type_hint, clientId, authentication);
102
+ }
103
+ catch (error) {
104
+ if (authorizationHeader)
105
+ setBasicClientAuthChallengeIfInvalidClientCredentials(c, error);
106
+ throw error;
107
+ }
100
108
  c.header('Cache-Control', 'no-store');
101
109
  c.header('Pragma', 'no-cache');
102
110
  return c.json({}, 200);
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/revoke/post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../src/routes/oauth/revoke/post.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAiCtD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiLrB,CAAC"}
1
+ {"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/routes/oauth/token/post.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAkCtD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4LrB,CAAC"}