@authup/server-core 1.0.0-beta.52 → 1.0.0-beta.54

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 (1541) hide show
  1. package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs +18 -21
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +17 -14
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +72 -30
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
  9. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
  11. package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
  12. package/dist/adapters/database/domains/client-permission/entity.mjs +42 -23
  13. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  14. package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
  15. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  16. package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
  17. package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
  18. package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
  21. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  22. package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
  23. package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
  24. package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/consent/entity.d.ts +20 -0
  27. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -0
  28. package/dist/adapters/database/domains/consent/entity.mjs +125 -0
  29. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -0
  30. package/dist/adapters/database/domains/consent/index.d.ts.map +1 -0
  31. package/dist/adapters/database/domains/consent/index.mjs +6 -0
  32. package/dist/adapters/database/domains/consent/subscriber.d.ts +6 -0
  33. package/dist/adapters/database/domains/consent/subscriber.d.ts.map +1 -0
  34. package/dist/adapters/database/domains/{robot-role → consent}/subscriber.mjs +11 -11
  35. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -0
  36. package/dist/adapters/database/domains/constants.d.ts +1 -3
  37. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  38. package/dist/adapters/database/domains/constants.mjs +1 -3
  39. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  40. package/dist/adapters/database/domains/event/entity.d.ts +22 -0
  41. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -0
  42. package/dist/adapters/database/domains/event/entity.mjs +189 -0
  43. package/dist/adapters/database/domains/event/entity.mjs.map +1 -0
  44. package/dist/adapters/database/domains/event/index.d.ts +2 -0
  45. package/dist/adapters/database/domains/event/index.d.ts.map +1 -0
  46. package/dist/adapters/database/domains/event/index.mjs +5 -0
  47. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  48. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  49. package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
  50. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  52. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
  54. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  55. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  56. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  57. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +52 -33
  58. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  60. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  61. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
  62. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  63. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  64. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  65. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
  66. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  67. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  68. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  69. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
  70. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  71. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  72. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  73. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
  74. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  75. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
  76. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  77. package/dist/adapters/database/domains/index.d.ts +4 -3
  78. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  79. package/dist/adapters/database/domains/index.mjs +24 -24
  80. package/dist/adapters/database/domains/key/entity.d.ts +12 -8
  81. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  82. package/dist/adapters/database/domains/key/entity.mjs +56 -21
  83. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  84. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  85. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  86. package/dist/adapters/database/domains/permission/entity.mjs +33 -18
  87. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  88. package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
  89. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  90. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  91. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  92. package/dist/adapters/database/domains/permission-policy/entity.mjs +31 -19
  93. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  94. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  95. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  96. package/dist/adapters/database/domains/policy/entity.mjs +28 -14
  97. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  98. package/dist/adapters/database/domains/policy/repository.d.ts.map +1 -1
  99. package/dist/adapters/database/domains/policy/repository.mjs +6 -6
  100. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  101. package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
  102. package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
  103. package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
  104. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  105. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
  106. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  107. package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
  108. package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
  109. package/dist/adapters/database/domains/realm/entity.mjs +16 -8
  110. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  111. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  112. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  113. package/dist/adapters/database/domains/role/entity.mjs +30 -16
  114. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  115. package/dist/adapters/database/domains/role/repository.mjs +4 -4
  116. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
  118. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  119. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  120. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  121. package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
  122. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  123. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
  124. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  125. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  126. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  127. package/dist/adapters/database/domains/role-permission/entity.mjs +39 -23
  128. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  129. package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
  130. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  131. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  132. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  133. package/dist/adapters/database/domains/scope/entity.mjs +23 -12
  134. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  135. package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
  136. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  137. package/dist/adapters/database/domains/session/entity.d.ts +14 -15
  138. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  139. package/dist/adapters/database/domains/session/entity.mjs +50 -38
  140. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  141. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  142. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  143. package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
  144. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  145. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +13 -0
  146. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -0
  147. package/dist/adapters/database/domains/trust-anchor/entity.mjs +61 -0
  148. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -0
  149. package/dist/adapters/database/domains/trust-anchor/index.d.ts +2 -0
  150. package/dist/adapters/database/domains/trust-anchor/index.d.ts.map +1 -0
  151. package/dist/adapters/database/domains/trust-anchor/index.mjs +5 -0
  152. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  153. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  154. package/dist/adapters/database/domains/user/entity.mjs +42 -27
  155. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  156. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  157. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  158. package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
  159. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  160. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  161. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  162. package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
  163. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  164. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
  165. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  166. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +20 -0
  167. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -0
  168. package/dist/adapters/database/domains/user-authenticator/entity.mjs +111 -0
  169. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -0
  170. package/dist/adapters/database/domains/user-authenticator/index.d.ts +2 -0
  171. package/dist/adapters/database/domains/user-authenticator/index.d.ts.map +1 -0
  172. package/dist/adapters/database/domains/user-authenticator/index.mjs +5 -0
  173. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  174. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  175. package/dist/adapters/database/domains/user-permission/entity.mjs +38 -22
  176. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  177. package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
  178. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  179. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  180. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  181. package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
  182. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  183. package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
  184. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  185. package/dist/adapters/database/errors/driver.d.ts +14 -0
  186. package/dist/adapters/database/errors/driver.d.ts.map +1 -0
  187. package/dist/adapters/database/errors/driver.mjs +32 -0
  188. package/dist/adapters/database/errors/driver.mjs.map +1 -0
  189. package/dist/adapters/database/errors/index.d.ts +1 -0
  190. package/dist/adapters/database/errors/index.d.ts.map +1 -1
  191. package/dist/adapters/database/errors/index.mjs +2 -1
  192. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  193. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  194. package/dist/adapters/database/index.mjs +17 -17
  195. package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts +50 -0
  196. package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts.map +1 -0
  197. package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs +320 -0
  198. package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs.map +1 -0
  199. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  200. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  201. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  202. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  203. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  204. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  205. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  206. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  207. package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts +50 -0
  208. package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts.map +1 -0
  209. package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs +310 -0
  210. package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs.map +1 -0
  211. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  212. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  213. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  214. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  215. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  216. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  217. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  218. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  219. package/dist/adapters/database/subscriber/module.d.ts +1 -1
  220. package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
  221. package/dist/adapters/database/subscriber/module.mjs +4 -3
  222. package/dist/adapters/database/subscriber/module.mjs.map +1 -1
  223. package/dist/adapters/http/adapters/index.mjs +2 -2
  224. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts +4 -1
  225. package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts.map +1 -1
  226. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +27 -2
  227. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  228. package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts +9 -1
  229. package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts.map +1 -1
  230. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +4 -1
  231. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
  232. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +24 -4
  233. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  234. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts +4 -3
  235. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  236. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +13 -6
  237. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  238. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  239. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  240. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +2 -2
  241. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +38 -2
  242. package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
  243. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +119 -6
  244. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  245. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -0
  246. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
  247. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +16 -3
  248. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  249. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +14 -6
  250. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  251. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts +5 -0
  252. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts.map +1 -0
  253. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs +18 -0
  254. package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs.map +1 -0
  255. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +1 -1
  256. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  257. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +1 -4
  258. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  259. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts +1 -0
  260. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts.map +1 -1
  261. package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -1
  262. package/dist/adapters/http/adapters/oauth2/index.mjs +2 -2
  263. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  264. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  265. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  266. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  267. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  268. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  269. package/dist/adapters/http/controllers/entities/consent/index.d.ts.map +1 -0
  270. package/dist/adapters/http/controllers/entities/consent/index.mjs +5 -0
  271. package/dist/adapters/http/controllers/entities/consent/module.d.ts +15 -0
  272. package/dist/adapters/http/controllers/entities/consent/module.d.ts.map +1 -0
  273. package/dist/adapters/http/controllers/entities/{robot-role → consent}/module.mjs +16 -29
  274. package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -0
  275. package/dist/adapters/http/controllers/entities/event/index.d.ts.map +1 -0
  276. package/dist/adapters/http/controllers/entities/event/index.mjs +5 -0
  277. package/dist/adapters/http/controllers/entities/event/module.d.ts +14 -0
  278. package/dist/adapters/http/controllers/entities/event/module.d.ts.map +1 -0
  279. package/dist/adapters/http/controllers/entities/event/module.mjs +68 -0
  280. package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -0
  281. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +4 -1
  282. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  283. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +55 -21
  284. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  285. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +3 -1
  286. package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
  287. package/dist/adapters/http/controllers/entities/index.d.ts +5 -3
  288. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  289. package/dist/adapters/http/controllers/entities/index.mjs +11 -9
  290. package/dist/adapters/http/controllers/entities/key/index.d.ts.map +1 -0
  291. package/dist/adapters/http/controllers/entities/key/index.mjs +5 -0
  292. package/dist/adapters/http/controllers/entities/key/module.d.ts +17 -0
  293. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -0
  294. package/dist/adapters/http/controllers/entities/key/module.mjs +116 -0
  295. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -0
  296. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  297. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  298. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +4 -4
  299. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  300. package/dist/adapters/http/controllers/entities/realm/module.d.ts +2 -0
  301. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  302. package/dist/adapters/http/controllers/entities/realm/module.mjs +16 -1
  303. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  304. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  305. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  306. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  307. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  308. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  309. package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts +2 -0
  310. package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts.map +1 -0
  311. package/dist/adapters/http/controllers/entities/trust-anchor/index.mjs +5 -0
  312. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts +17 -0
  313. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -0
  314. package/dist/adapters/http/controllers/entities/{robot-permission → trust-anchor}/module.mjs +30 -30
  315. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -0
  316. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  317. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  318. package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts +2 -0
  319. package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts.map +1 -0
  320. package/dist/adapters/http/controllers/entities/user-authenticator/index.mjs +5 -0
  321. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts +21 -0
  322. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts.map +1 -0
  323. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +154 -0
  324. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -0
  325. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  326. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  327. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  328. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  329. package/dist/adapters/http/controllers/index.mjs +7 -6
  330. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts +2 -0
  331. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts.map +1 -0
  332. package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.mjs +5 -0
  333. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts +46 -0
  334. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts.map +1 -0
  335. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +132 -0
  336. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -0
  337. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  338. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +38 -10
  339. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  340. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +17 -1
  341. package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
  342. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  343. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  344. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  345. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  346. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +32 -18
  347. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  348. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  349. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +31 -17
  350. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  351. package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
  352. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  353. package/dist/adapters/http/controllers/workflows/token/module.d.ts +2 -1
  354. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  355. package/dist/adapters/http/controllers/workflows/token/module.mjs +30 -16
  356. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  357. package/dist/adapters/http/controllers/workflows/token/types.d.ts +11 -5
  358. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  359. package/dist/adapters/http/index.mjs +13 -9
  360. package/dist/adapters/http/middleware/built-in/assets.mjs +3 -3
  361. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  362. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +14 -2
  363. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  364. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +52 -16
  365. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  366. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +2 -1
  367. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  368. package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
  369. package/dist/adapters/http/middleware/built-in/prometheus.d.ts +12 -1
  370. package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
  371. package/dist/adapters/http/middleware/built-in/prometheus.mjs +75 -6
  372. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  373. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  374. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  375. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  376. package/dist/adapters/http/middleware/index.mjs +2 -2
  377. package/dist/adapters/http/request/client-certificate.d.ts +6 -0
  378. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -0
  379. package/dist/adapters/http/request/client-certificate.mjs +89 -0
  380. package/dist/adapters/http/request/client-certificate.mjs.map +1 -0
  381. package/dist/adapters/http/request/constants.d.ts +1 -0
  382. package/dist/adapters/http/request/constants.d.ts.map +1 -1
  383. package/dist/adapters/http/request/constants.mjs +6 -1
  384. package/dist/adapters/http/request/constants.mjs.map +1 -1
  385. package/dist/adapters/http/request/event-context.d.ts +19 -0
  386. package/dist/adapters/http/request/event-context.d.ts.map +1 -0
  387. package/dist/adapters/http/request/event-context.mjs +37 -0
  388. package/dist/adapters/http/request/event-context.mjs.map +1 -0
  389. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  390. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  391. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  392. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  393. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  394. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  395. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  396. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  397. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  398. package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts +16 -0
  399. package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts.map +1 -0
  400. package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs +15 -0
  401. package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs.map +1 -0
  402. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  403. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  404. package/dist/adapters/http/request/index.d.ts +3 -0
  405. package/dist/adapters/http/request/index.d.ts.map +1 -1
  406. package/dist/adapters/http/request/index.mjs +5 -2
  407. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  408. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  409. package/dist/adapters/http/request/permission/module.mjs +3 -0
  410. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  411. package/dist/adapters/http/request/types.d.ts +3 -0
  412. package/dist/adapters/http/request/types.d.ts.map +1 -0
  413. package/dist/adapters/http/ui/render.mjs +4 -4
  414. package/dist/adapters/http/ui/render.mjs.map +1 -1
  415. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  416. package/dist/adapters/http/ui/serve.mjs +4 -1
  417. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  418. package/dist/app/index.mjs +11 -9
  419. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  420. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  421. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  422. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  423. package/dist/app/modules/components/module.d.ts.map +1 -1
  424. package/dist/app/modules/components/module.mjs +22 -2
  425. package/dist/app/modules/components/module.mjs.map +1 -1
  426. package/dist/app/modules/config/constants.d.ts +14 -4
  427. package/dist/app/modules/config/constants.d.ts.map +1 -1
  428. package/dist/app/modules/config/constants.mjs +14 -4
  429. package/dist/app/modules/config/constants.mjs.map +1 -1
  430. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  431. package/dist/app/modules/config/normalize.mjs +30 -6
  432. package/dist/app/modules/config/normalize.mjs.map +1 -1
  433. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  434. package/dist/app/modules/config/read/env.mjs +57 -8
  435. package/dist/app/modules/config/read/env.mjs.map +1 -1
  436. package/dist/app/modules/config/types.d.ts +101 -19
  437. package/dist/app/modules/config/types.d.ts.map +1 -1
  438. package/dist/app/modules/config/validator.d.ts.map +1 -1
  439. package/dist/app/modules/config/validator.mjs +16 -4
  440. package/dist/app/modules/config/validator.mjs.map +1 -1
  441. package/dist/app/modules/database/constants.d.ts +3 -0
  442. package/dist/app/modules/database/constants.d.ts.map +1 -1
  443. package/dist/app/modules/database/constants.mjs +3 -1
  444. package/dist/app/modules/database/constants.mjs.map +1 -1
  445. package/dist/app/modules/database/index.mjs +7 -6
  446. package/dist/app/modules/database/module.d.ts +1 -0
  447. package/dist/app/modules/database/module.d.ts.map +1 -1
  448. package/dist/app/modules/database/module.mjs +34 -1
  449. package/dist/app/modules/database/module.mjs.map +1 -1
  450. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  451. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  452. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  453. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  454. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  455. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  456. package/dist/app/modules/database/repositories/client/repository.mjs +10 -78
  457. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  458. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  459. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  460. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  461. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  462. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  463. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  464. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  465. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  466. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  467. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  468. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  469. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  470. package/dist/app/modules/database/repositories/event/index.d.ts.map +1 -0
  471. package/dist/app/modules/database/repositories/event/index.mjs +5 -0
  472. package/dist/app/modules/database/repositories/event/repository.d.ts +16 -0
  473. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -0
  474. package/dist/app/modules/database/repositories/event/repository.mjs +74 -0
  475. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -0
  476. package/dist/app/modules/database/repositories/helpers.d.ts +21 -5
  477. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  478. package/dist/app/modules/database/repositories/helpers.mjs +46 -7
  479. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  480. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  481. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  482. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  483. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  484. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  485. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  486. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  487. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  488. package/dist/app/modules/database/repositories/index.d.ts +4 -3
  489. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  490. package/dist/app/modules/database/repositories/index.mjs +9 -7
  491. package/dist/app/modules/database/repositories/key/index.d.ts.map +1 -0
  492. package/dist/app/modules/database/repositories/key/index.mjs +5 -0
  493. package/dist/app/modules/database/repositories/key/repository.d.ts +51 -0
  494. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -0
  495. package/dist/app/modules/database/repositories/key/repository.mjs +239 -0
  496. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -0
  497. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  498. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  499. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  500. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  501. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  502. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  503. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  504. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  505. package/dist/app/modules/database/repositories/permission-provider/module.mjs +7 -7
  506. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  507. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  508. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  509. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  510. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  511. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  512. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  513. package/dist/app/modules/database/repositories/query.mjs +29 -0
  514. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  515. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  516. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  517. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  518. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  519. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  520. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  521. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  522. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  523. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  524. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  525. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  526. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  527. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  528. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  529. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  530. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  531. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  532. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  533. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  534. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  535. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  536. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  537. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  538. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  539. package/dist/app/modules/database/repositories/trust-anchor/index.d.ts.map +1 -0
  540. package/dist/app/modules/database/repositories/trust-anchor/index.mjs +5 -0
  541. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +25 -0
  542. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -0
  543. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +89 -0
  544. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -0
  545. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  546. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  547. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  548. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  549. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  550. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  551. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  552. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  553. package/dist/app/modules/database/repositories/user-authenticator/index.d.ts.map +1 -0
  554. package/dist/app/modules/database/repositories/user-authenticator/index.mjs +5 -0
  555. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +20 -0
  556. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -0
  557. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +66 -0
  558. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -0
  559. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  560. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  561. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  562. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  563. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  564. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  565. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  566. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  567. package/dist/app/modules/http/module.d.ts +8 -0
  568. package/dist/app/modules/http/module.d.ts.map +1 -1
  569. package/dist/app/modules/http/module.mjs +19 -1
  570. package/dist/app/modules/http/module.mjs.map +1 -1
  571. package/dist/app/modules/http/modules/controller.d.ts +16 -6
  572. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  573. package/dist/app/modules/http/modules/controller.mjs +186 -67
  574. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  575. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  576. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  577. package/dist/app/modules/http/modules/middleware.mjs +10 -5
  578. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  579. package/dist/app/modules/identity/index.mjs +1 -2
  580. package/dist/app/modules/identity/module.d.ts.map +1 -1
  581. package/dist/app/modules/identity/module.mjs +3 -14
  582. package/dist/app/modules/identity/module.mjs.map +1 -1
  583. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  584. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  585. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  586. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  587. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  588. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  589. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  590. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  591. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  592. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  593. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  594. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  595. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  596. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  597. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  598. package/dist/app/modules/index.d.ts +1 -0
  599. package/dist/app/modules/index.d.ts.map +1 -1
  600. package/dist/app/modules/index.mjs +13 -10
  601. package/dist/app/modules/mail/module.d.ts.map +1 -1
  602. package/dist/app/modules/mail/module.mjs +2 -1
  603. package/dist/app/modules/mail/module.mjs.map +1 -1
  604. package/dist/app/modules/metrics/constants.d.ts +4 -0
  605. package/dist/app/modules/metrics/constants.d.ts.map +1 -0
  606. package/dist/app/modules/metrics/constants.mjs +10 -0
  607. package/dist/app/modules/metrics/constants.mjs.map +1 -0
  608. package/dist/app/modules/metrics/index.d.ts +3 -0
  609. package/dist/app/modules/metrics/index.d.ts.map +1 -0
  610. package/dist/app/modules/metrics/index.mjs +6 -0
  611. package/dist/app/modules/metrics/prom.d.ts +15 -0
  612. package/dist/app/modules/metrics/prom.d.ts.map +1 -0
  613. package/dist/app/modules/metrics/prom.mjs +42 -0
  614. package/dist/app/modules/metrics/prom.mjs.map +1 -0
  615. package/dist/app/modules/oauth2/constants.d.ts +9 -2
  616. package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
  617. package/dist/app/modules/oauth2/constants.mjs +7 -1
  618. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  619. package/dist/app/modules/oauth2/module.d.ts.map +1 -1
  620. package/dist/app/modules/oauth2/module.mjs +23 -4
  621. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  622. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  623. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  624. package/dist/app/modules/oauth2/repositories/consent/index.d.ts +2 -0
  625. package/dist/app/modules/oauth2/repositories/consent/index.d.ts.map +1 -0
  626. package/dist/app/modules/oauth2/repositories/consent/index.mjs +5 -0
  627. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +21 -0
  628. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -0
  629. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +92 -0
  630. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -0
  631. package/dist/app/modules/oauth2/repositories/index.d.ts +1 -1
  632. package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
  633. package/dist/app/modules/oauth2/repositories/index.mjs +3 -3
  634. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  635. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  636. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  637. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  638. package/dist/app/modules/oauth2/repositories/token/repository.d.ts +1 -0
  639. package/dist/app/modules/oauth2/repositories/token/repository.d.ts.map +1 -1
  640. package/dist/app/modules/oauth2/repositories/token/repository.mjs +8 -0
  641. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  642. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  643. package/dist/app/modules/provisioning/module.mjs +25 -29
  644. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  645. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  646. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  647. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  648. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  649. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  650. package/dist/app/modules/provisioning/sources/default/module.mjs +54 -74
  651. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  652. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  653. package/dist/app/modules/provisioning/sources/file/module.mjs +16 -5
  654. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  655. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  656. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  657. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  658. package/dist/components/database/unique-entries/module.mjs +6 -6
  659. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  660. package/dist/components/event-cleaner/index.d.ts +2 -0
  661. package/dist/components/event-cleaner/index.d.ts.map +1 -0
  662. package/dist/components/event-cleaner/index.mjs +5 -0
  663. package/dist/components/event-cleaner/module.d.ts +5 -0
  664. package/dist/components/event-cleaner/module.d.ts.map +1 -0
  665. package/dist/components/event-cleaner/module.mjs +30 -0
  666. package/dist/components/event-cleaner/module.mjs.map +1 -0
  667. package/dist/components/index.d.ts +1 -0
  668. package/dist/components/index.d.ts.map +1 -1
  669. package/dist/components/index.mjs +3 -1
  670. package/dist/components/oauth2-cleaner/module.d.ts +2 -1
  671. package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
  672. package/dist/components/oauth2-cleaner/module.mjs +9 -4
  673. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  674. package/dist/core/authentication/credential/entities/client/module.d.ts +2 -2
  675. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  676. package/dist/core/authentication/credential/entities/client/module.mjs +4 -3
  677. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  678. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  679. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  680. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  681. package/dist/core/authentication/credential/index.mjs +1 -2
  682. package/dist/core/authentication/entities/client/module.mjs +2 -2
  683. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  684. package/dist/core/authentication/entities/index.d.ts +0 -1
  685. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  686. package/dist/core/authentication/entities/index.mjs +1 -3
  687. package/dist/core/authentication/index.d.ts +1 -0
  688. package/dist/core/authentication/index.d.ts.map +1 -1
  689. package/dist/core/authentication/index.mjs +3 -3
  690. package/dist/core/authentication/login-throttle/index.d.ts.map +1 -0
  691. package/dist/core/authentication/login-throttle/index.mjs +5 -0
  692. package/dist/core/authentication/login-throttle/service.d.ts +13 -0
  693. package/dist/core/authentication/login-throttle/service.d.ts.map +1 -0
  694. package/dist/core/authentication/login-throttle/service.mjs +33 -0
  695. package/dist/core/authentication/login-throttle/service.mjs.map +1 -0
  696. package/dist/core/authentication/login-throttle/types.d.ts +34 -0
  697. package/dist/core/authentication/login-throttle/types.d.ts.map +1 -0
  698. package/dist/core/authentication/session/module.d.ts +1 -0
  699. package/dist/core/authentication/session/module.d.ts.map +1 -1
  700. package/dist/core/authentication/session/module.mjs +17 -16
  701. package/dist/core/authentication/session/module.mjs.map +1 -1
  702. package/dist/core/authentication/session/types.d.ts +12 -5
  703. package/dist/core/authentication/session/types.d.ts.map +1 -1
  704. package/dist/core/authentication/session/types.mjs +4 -5
  705. package/dist/core/authentication/session/types.mjs.map +1 -1
  706. package/dist/core/client-certificate/index.d.ts.map +1 -0
  707. package/dist/core/client-certificate/index.mjs +5 -0
  708. package/dist/core/client-certificate/module.d.ts +19 -0
  709. package/dist/core/client-certificate/module.d.ts.map +1 -0
  710. package/dist/core/client-certificate/module.mjs +196 -0
  711. package/dist/core/client-certificate/module.mjs.map +1 -0
  712. package/dist/core/client-certificate/reflect.d.ts +2 -0
  713. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  714. package/dist/core/client-certificate/reflect.mjs +5 -0
  715. package/dist/core/client-certificate/types.d.ts +22 -0
  716. package/dist/core/client-certificate/types.d.ts.map +1 -0
  717. package/dist/core/entities/client/index.d.ts +1 -0
  718. package/dist/core/entities/client/index.d.ts.map +1 -1
  719. package/dist/core/entities/client/index.mjs +2 -1
  720. package/dist/core/entities/client/schema.d.ts +3 -0
  721. package/dist/core/entities/client/schema.d.ts.map +1 -0
  722. package/dist/core/entities/client/schema.mjs +59 -0
  723. package/dist/core/entities/client/schema.mjs.map +1 -0
  724. package/dist/core/entities/client/service.d.ts.map +1 -1
  725. package/dist/core/entities/client/service.mjs +50 -19
  726. package/dist/core/entities/client/service.mjs.map +1 -1
  727. package/dist/core/entities/client/types.d.ts +2 -1
  728. package/dist/core/entities/client/types.d.ts.map +1 -1
  729. package/dist/core/entities/client/web-client.d.ts +4 -4
  730. package/dist/core/entities/client/web-client.d.ts.map +1 -1
  731. package/dist/core/entities/client/web-client.mjs +14 -13
  732. package/dist/core/entities/client/web-client.mjs.map +1 -1
  733. package/dist/core/entities/client-permission/index.d.ts +1 -0
  734. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  735. package/dist/core/entities/client-permission/index.mjs +2 -1
  736. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  737. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  738. package/dist/core/entities/client-permission/schema.mjs +41 -0
  739. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  740. package/dist/core/entities/client-permission/service.d.ts +1 -1
  741. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  742. package/dist/core/entities/client-permission/service.mjs +24 -18
  743. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  744. package/dist/core/entities/client-role/index.d.ts +1 -0
  745. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  746. package/dist/core/entities/client-role/index.mjs +2 -1
  747. package/dist/core/entities/client-role/schema.d.ts +3 -0
  748. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  749. package/dist/core/entities/client-role/schema.mjs +39 -0
  750. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  751. package/dist/core/entities/client-role/service.d.ts +1 -1
  752. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  753. package/dist/core/entities/client-role/service.mjs +14 -8
  754. package/dist/core/entities/client-role/service.mjs.map +1 -1
  755. package/dist/core/entities/client-scope/index.d.ts +1 -0
  756. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  757. package/dist/core/entities/client-scope/index.mjs +2 -1
  758. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  759. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  760. package/dist/core/entities/client-scope/schema.mjs +37 -0
  761. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  762. package/dist/core/entities/client-scope/service.d.ts +1 -1
  763. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  764. package/dist/core/entities/client-scope/service.mjs +12 -6
  765. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  766. package/dist/core/entities/consent/index.d.ts +4 -0
  767. package/dist/core/entities/consent/index.d.ts.map +1 -0
  768. package/dist/core/entities/consent/index.mjs +7 -0
  769. package/dist/core/entities/consent/schema.d.ts +3 -0
  770. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  771. package/dist/core/entities/consent/schema.mjs +40 -0
  772. package/dist/core/entities/consent/schema.mjs.map +1 -0
  773. package/dist/core/entities/consent/service.d.ts +19 -0
  774. package/dist/core/entities/consent/service.d.ts.map +1 -0
  775. package/dist/core/entities/consent/service.mjs +138 -0
  776. package/dist/core/entities/consent/service.mjs.map +1 -0
  777. package/dist/core/entities/consent/types.d.ts +98 -0
  778. package/dist/core/entities/consent/types.d.ts.map +1 -0
  779. package/dist/core/entities/consent/types.mjs +25 -0
  780. package/dist/core/entities/consent/types.mjs.map +1 -0
  781. package/dist/core/entities/event/constants.d.ts +7 -0
  782. package/dist/core/entities/event/constants.d.ts.map +1 -0
  783. package/dist/core/entities/event/constants.mjs +13 -0
  784. package/dist/core/entities/event/constants.mjs.map +1 -0
  785. package/dist/core/entities/event/diff.d.ts +20 -0
  786. package/dist/core/entities/event/diff.d.ts.map +1 -0
  787. package/dist/core/entities/event/diff.mjs +45 -0
  788. package/dist/core/entities/event/diff.mjs.map +1 -0
  789. package/dist/core/entities/event/entity-event-handler.d.ts +19 -0
  790. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -0
  791. package/dist/core/entities/event/entity-event-handler.mjs +98 -0
  792. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -0
  793. package/dist/core/entities/event/index.d.ts +8 -0
  794. package/dist/core/entities/event/index.d.ts.map +1 -0
  795. package/dist/core/entities/event/index.mjs +10 -0
  796. package/dist/core/entities/event/sanitize.d.ts +2 -0
  797. package/dist/core/entities/event/sanitize.d.ts.map +1 -0
  798. package/dist/core/entities/event/sanitize.mjs +83 -0
  799. package/dist/core/entities/event/sanitize.mjs.map +1 -0
  800. package/dist/core/entities/event/schema.d.ts +3 -0
  801. package/dist/core/entities/event/schema.d.ts.map +1 -0
  802. package/dist/core/entities/event/schema.mjs +51 -0
  803. package/dist/core/entities/event/schema.mjs.map +1 -0
  804. package/dist/core/entities/event/service.d.ts +22 -0
  805. package/dist/core/entities/event/service.d.ts.map +1 -0
  806. package/dist/core/entities/event/service.mjs +185 -0
  807. package/dist/core/entities/event/service.mjs.map +1 -0
  808. package/dist/core/entities/event/types.d.ts +125 -0
  809. package/dist/core/entities/event/types.d.ts.map +1 -0
  810. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  811. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  812. package/dist/core/entities/identity-provider/index.mjs +2 -1
  813. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  814. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  815. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  816. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  817. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  818. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  819. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  820. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  821. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  822. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  823. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  824. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  825. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  826. package/dist/core/entities/identity-provider-role-mapping/service.mjs +18 -12
  827. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  828. package/dist/core/entities/index.d.ts +5 -3
  829. package/dist/core/entities/index.d.ts.map +1 -1
  830. package/dist/core/entities/index.mjs +45 -7
  831. package/dist/core/entities/key/index.d.ts +4 -0
  832. package/dist/core/entities/key/index.d.ts.map +1 -0
  833. package/dist/core/entities/key/index.mjs +6 -0
  834. package/dist/core/entities/key/schema.d.ts +3 -0
  835. package/dist/core/entities/key/schema.d.ts.map +1 -0
  836. package/dist/core/entities/key/schema.mjs +53 -0
  837. package/dist/core/entities/key/schema.mjs.map +1 -0
  838. package/dist/core/entities/key/service.d.ts +55 -0
  839. package/dist/core/entities/key/service.d.ts.map +1 -0
  840. package/dist/core/entities/key/service.mjs +320 -0
  841. package/dist/core/entities/key/service.mjs.map +1 -0
  842. package/dist/core/entities/key/types.d.ts +41 -0
  843. package/dist/core/entities/key/types.d.ts.map +1 -0
  844. package/dist/core/entities/permission/index.d.ts +1 -0
  845. package/dist/core/entities/permission/index.d.ts.map +1 -1
  846. package/dist/core/entities/permission/index.mjs +2 -1
  847. package/dist/core/entities/permission/schema.d.ts +3 -0
  848. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  849. package/dist/core/entities/permission/schema.mjs +28 -0
  850. package/dist/core/entities/permission/schema.mjs.map +1 -0
  851. package/dist/core/entities/permission/service.d.ts +7 -2
  852. package/dist/core/entities/permission/service.d.ts.map +1 -1
  853. package/dist/core/entities/permission/service.mjs +54 -41
  854. package/dist/core/entities/permission/service.mjs.map +1 -1
  855. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  856. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  857. package/dist/core/entities/permission-policy/index.mjs +2 -1
  858. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  859. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  860. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  861. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  862. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  863. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  864. package/dist/core/entities/permission-policy/service.mjs +12 -6
  865. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  866. package/dist/core/entities/policy/index.d.ts +1 -0
  867. package/dist/core/entities/policy/index.d.ts.map +1 -1
  868. package/dist/core/entities/policy/index.mjs +2 -1
  869. package/dist/core/entities/policy/schema.d.ts +3 -0
  870. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  871. package/dist/core/entities/policy/schema.mjs +49 -0
  872. package/dist/core/entities/policy/schema.mjs.map +1 -0
  873. package/dist/core/entities/policy/service.d.ts.map +1 -1
  874. package/dist/core/entities/policy/service.mjs +15 -9
  875. package/dist/core/entities/policy/service.mjs.map +1 -1
  876. package/dist/core/entities/realm/index.d.ts +1 -0
  877. package/dist/core/entities/realm/index.d.ts.map +1 -1
  878. package/dist/core/entities/realm/index.mjs +2 -1
  879. package/dist/core/entities/realm/schema.d.ts +3 -0
  880. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  881. package/dist/core/entities/realm/schema.mjs +36 -0
  882. package/dist/core/entities/realm/schema.mjs.map +1 -0
  883. package/dist/core/entities/realm/service.d.ts +3 -0
  884. package/dist/core/entities/realm/service.d.ts.map +1 -1
  885. package/dist/core/entities/realm/service.mjs +10 -4
  886. package/dist/core/entities/realm/service.mjs.map +1 -1
  887. package/dist/core/entities/realm/types.d.ts +1 -1
  888. package/dist/core/entities/role/index.d.ts +1 -0
  889. package/dist/core/entities/role/index.d.ts.map +1 -1
  890. package/dist/core/entities/role/index.mjs +2 -1
  891. package/dist/core/entities/role/schema.d.ts +3 -0
  892. package/dist/core/entities/role/schema.d.ts.map +1 -0
  893. package/dist/core/entities/role/schema.mjs +43 -0
  894. package/dist/core/entities/role/schema.mjs.map +1 -0
  895. package/dist/core/entities/role/service.d.ts.map +1 -1
  896. package/dist/core/entities/role/service.mjs +13 -7
  897. package/dist/core/entities/role/service.mjs.map +1 -1
  898. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  899. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  900. package/dist/core/entities/role-attribute/index.mjs +2 -1
  901. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  902. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  903. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  904. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  905. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  906. package/dist/core/entities/role-attribute/service.mjs +22 -9
  907. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  908. package/dist/core/entities/role-permission/index.d.ts +1 -0
  909. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  910. package/dist/core/entities/role-permission/index.mjs +2 -1
  911. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  912. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  913. package/dist/core/entities/role-permission/schema.mjs +41 -0
  914. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  915. package/dist/core/entities/role-permission/service.d.ts +1 -1
  916. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  917. package/dist/core/entities/role-permission/service.mjs +24 -18
  918. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  919. package/dist/core/entities/scope/index.d.ts +1 -0
  920. package/dist/core/entities/scope/index.d.ts.map +1 -1
  921. package/dist/core/entities/scope/index.mjs +2 -1
  922. package/dist/core/entities/scope/schema.d.ts +3 -0
  923. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  924. package/dist/core/entities/scope/schema.mjs +43 -0
  925. package/dist/core/entities/scope/schema.mjs.map +1 -0
  926. package/dist/core/entities/scope/service.d.ts.map +1 -1
  927. package/dist/core/entities/scope/service.mjs +11 -5
  928. package/dist/core/entities/scope/service.mjs.map +1 -1
  929. package/dist/core/entities/session/index.d.ts +1 -0
  930. package/dist/core/entities/session/index.d.ts.map +1 -1
  931. package/dist/core/entities/session/index.mjs +2 -1
  932. package/dist/core/entities/session/schema.d.ts +3 -0
  933. package/dist/core/entities/session/schema.d.ts.map +1 -0
  934. package/dist/core/entities/session/schema.mjs +44 -0
  935. package/dist/core/entities/session/schema.mjs.map +1 -0
  936. package/dist/core/entities/session/service.d.ts +11 -0
  937. package/dist/core/entities/session/service.d.ts.map +1 -1
  938. package/dist/core/entities/session/service.mjs +53 -13
  939. package/dist/core/entities/session/service.mjs.map +1 -1
  940. package/dist/core/entities/session/types.d.ts +2 -2
  941. package/dist/core/entities/trust-anchor/index.d.ts +4 -0
  942. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -0
  943. package/dist/core/entities/trust-anchor/index.mjs +6 -0
  944. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  945. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  946. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  947. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  948. package/dist/core/entities/trust-anchor/service.d.ts +33 -0
  949. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -0
  950. package/dist/core/entities/trust-anchor/service.mjs +191 -0
  951. package/dist/core/entities/trust-anchor/service.mjs.map +1 -0
  952. package/dist/core/entities/trust-anchor/types.d.ts +22 -0
  953. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -0
  954. package/dist/core/entities/user/index.d.ts +1 -0
  955. package/dist/core/entities/user/index.d.ts.map +1 -1
  956. package/dist/core/entities/user/index.mjs +2 -1
  957. package/dist/core/entities/user/schema.d.ts +3 -0
  958. package/dist/core/entities/user/schema.d.ts.map +1 -0
  959. package/dist/core/entities/user/schema.mjs +50 -0
  960. package/dist/core/entities/user/schema.mjs.map +1 -0
  961. package/dist/core/entities/user/service.d.ts.map +1 -1
  962. package/dist/core/entities/user/service.mjs +35 -14
  963. package/dist/core/entities/user/service.mjs.map +1 -1
  964. package/dist/core/entities/user/types.d.ts +2 -1
  965. package/dist/core/entities/user/types.d.ts.map +1 -1
  966. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  967. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  968. package/dist/core/entities/user-attribute/index.mjs +2 -1
  969. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  970. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  971. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  972. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  973. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  974. package/dist/core/entities/user-attribute/service.mjs +29 -13
  975. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  976. package/dist/core/entities/user-authenticator/constants.d.ts +26 -0
  977. package/dist/core/entities/user-authenticator/constants.d.ts.map +1 -0
  978. package/dist/core/entities/user-authenticator/constants.mjs +32 -0
  979. package/dist/core/entities/user-authenticator/constants.mjs.map +1 -0
  980. package/dist/core/entities/user-authenticator/helpers.d.ts +10 -0
  981. package/dist/core/entities/user-authenticator/helpers.d.ts.map +1 -0
  982. package/dist/core/entities/user-authenticator/helpers.mjs +35 -0
  983. package/dist/core/entities/user-authenticator/helpers.mjs.map +1 -0
  984. package/dist/core/entities/user-authenticator/index.d.ts +7 -0
  985. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -0
  986. package/dist/core/entities/user-authenticator/index.mjs +10 -0
  987. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  988. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  989. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  990. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  991. package/dist/core/entities/user-authenticator/service.d.ts +89 -0
  992. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -0
  993. package/dist/core/entities/user-authenticator/service.mjs +731 -0
  994. package/dist/core/entities/user-authenticator/service.mjs.map +1 -0
  995. package/dist/core/entities/user-authenticator/types.d.ts +222 -0
  996. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -0
  997. package/dist/core/entities/user-authenticator/types.mjs +15 -0
  998. package/dist/core/entities/user-authenticator/types.mjs.map +1 -0
  999. package/dist/core/entities/user-authenticator/webauthn.d.ts +28 -0
  1000. package/dist/core/entities/user-authenticator/webauthn.d.ts.map +1 -0
  1001. package/dist/core/entities/user-authenticator/webauthn.mjs +88 -0
  1002. package/dist/core/entities/user-authenticator/webauthn.mjs.map +1 -0
  1003. package/dist/core/entities/user-permission/index.d.ts +1 -0
  1004. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  1005. package/dist/core/entities/user-permission/index.mjs +2 -1
  1006. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  1007. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  1008. package/dist/core/entities/user-permission/schema.mjs +41 -0
  1009. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  1010. package/dist/core/entities/user-permission/service.d.ts +1 -1
  1011. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  1012. package/dist/core/entities/user-permission/service.mjs +24 -18
  1013. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  1014. package/dist/core/entities/user-role/index.d.ts +1 -0
  1015. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  1016. package/dist/core/entities/user-role/index.mjs +2 -1
  1017. package/dist/core/entities/user-role/schema.d.ts +3 -0
  1018. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  1019. package/dist/core/entities/user-role/schema.mjs +39 -0
  1020. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  1021. package/dist/core/entities/user-role/service.d.ts +1 -1
  1022. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  1023. package/dist/core/entities/user-role/service.mjs +14 -8
  1024. package/dist/core/entities/user-role/service.mjs.map +1 -1
  1025. package/dist/core/identity/entities/index.d.ts +0 -1
  1026. package/dist/core/identity/entities/index.d.ts.map +1 -1
  1027. package/dist/core/identity/index.mjs +2 -1
  1028. package/dist/core/identity/password-recovery/disabled.d.ts +2 -2
  1029. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -1
  1030. package/dist/core/identity/password-recovery/disabled.mjs +2 -2
  1031. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -1
  1032. package/dist/core/identity/password-recovery/email-verification-required.d.ts +2 -2
  1033. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -1
  1034. package/dist/core/identity/password-recovery/email-verification-required.mjs +2 -2
  1035. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -1
  1036. package/dist/core/identity/password-recovery/service.d.ts +2 -1
  1037. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  1038. package/dist/core/identity/password-recovery/service.mjs +45 -23
  1039. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  1040. package/dist/core/identity/password-recovery/token-expired.d.ts +2 -2
  1041. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -1
  1042. package/dist/core/identity/password-recovery/token-expired.mjs +2 -2
  1043. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -1
  1044. package/dist/core/identity/password-recovery/types.d.ts +4 -3
  1045. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  1046. package/dist/core/identity/permission/checker/service.mjs +2 -2
  1047. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  1048. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  1049. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  1050. package/dist/core/identity/permission/index.d.ts +1 -0
  1051. package/dist/core/identity/permission/index.d.ts.map +1 -1
  1052. package/dist/core/identity/permission/index.mjs +2 -1
  1053. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  1054. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  1055. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  1056. package/dist/core/identity/permission/module.d.ts +0 -3
  1057. package/dist/core/identity/permission/module.d.ts.map +1 -1
  1058. package/dist/core/identity/permission/module.mjs +9 -15
  1059. package/dist/core/identity/permission/module.mjs.map +1 -1
  1060. package/dist/core/identity/permission/types.d.ts +0 -2
  1061. package/dist/core/identity/permission/types.d.ts.map +1 -1
  1062. package/dist/core/identity/policy/checker/service.mjs +2 -2
  1063. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  1064. package/dist/core/identity/provider/account/module.mjs +9 -9
  1065. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  1066. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  1067. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  1068. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  1069. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  1070. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  1071. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  1072. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  1073. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  1074. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  1075. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  1076. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  1077. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  1078. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +7 -7
  1079. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  1080. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  1081. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  1082. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  1083. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  1084. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  1085. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  1086. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  1087. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  1088. package/dist/core/identity/registration/error.d.ts +2 -2
  1089. package/dist/core/identity/registration/error.d.ts.map +1 -1
  1090. package/dist/core/identity/registration/error.mjs +2 -2
  1091. package/dist/core/identity/registration/error.mjs.map +1 -1
  1092. package/dist/core/identity/registration/service.d.ts +2 -1
  1093. package/dist/core/identity/registration/service.d.ts.map +1 -1
  1094. package/dist/core/identity/registration/service.mjs +33 -11
  1095. package/dist/core/identity/registration/service.mjs.map +1 -1
  1096. package/dist/core/identity/registration/types.d.ts +2 -1
  1097. package/dist/core/identity/registration/types.d.ts.map +1 -1
  1098. package/dist/core/identity/resolver/module.d.ts +1 -3
  1099. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  1100. package/dist/core/identity/resolver/module.mjs +0 -13
  1101. package/dist/core/identity/resolver/module.mjs.map +1 -1
  1102. package/dist/core/identity/resolver/types.d.ts +1 -2
  1103. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  1104. package/dist/core/identity/role/module.d.ts +0 -2
  1105. package/dist/core/identity/role/module.d.ts.map +1 -1
  1106. package/dist/core/identity/role/module.mjs +1 -4
  1107. package/dist/core/identity/role/module.mjs.map +1 -1
  1108. package/dist/core/identity/role/types.d.ts +0 -2
  1109. package/dist/core/identity/role/types.d.ts.map +1 -1
  1110. package/dist/core/index.d.ts +4 -0
  1111. package/dist/core/index.d.ts.map +1 -1
  1112. package/dist/core/index.mjs +66 -16
  1113. package/dist/core/key/certificate-error.d.ts +10 -0
  1114. package/dist/core/key/certificate-error.d.ts.map +1 -0
  1115. package/dist/core/key/certificate-error.mjs +19 -0
  1116. package/dist/core/key/certificate-error.mjs.map +1 -0
  1117. package/dist/core/key/certificate.d.ts +15 -0
  1118. package/dist/core/key/certificate.d.ts.map +1 -0
  1119. package/dist/core/key/certificate.mjs +72 -0
  1120. package/dist/core/key/certificate.mjs.map +1 -0
  1121. package/dist/core/key/check.d.ts +3 -0
  1122. package/dist/core/key/check.d.ts.map +1 -0
  1123. package/dist/core/key/check.mjs +13 -0
  1124. package/dist/core/key/check.mjs.map +1 -0
  1125. package/dist/core/key/constants.d.ts +10 -0
  1126. package/dist/core/key/constants.d.ts.map +1 -0
  1127. package/dist/core/key/constants.mjs +15 -0
  1128. package/dist/core/key/constants.mjs.map +1 -0
  1129. package/dist/core/key/error.d.ts +14 -0
  1130. package/dist/core/key/error.d.ts.map +1 -0
  1131. package/dist/core/key/error.mjs +23 -0
  1132. package/dist/core/key/error.mjs.map +1 -0
  1133. package/dist/core/key/index.d.ts +10 -0
  1134. package/dist/core/key/index.d.ts.map +1 -0
  1135. package/dist/core/key/index.mjs +12 -0
  1136. package/dist/core/key/provisioner.d.ts +22 -0
  1137. package/dist/core/key/provisioner.d.ts.map +1 -0
  1138. package/dist/core/key/provisioner.mjs +30 -0
  1139. package/dist/core/key/provisioner.mjs.map +1 -0
  1140. package/dist/core/key/realm-cipher.d.ts +20 -0
  1141. package/dist/core/key/realm-cipher.d.ts.map +1 -0
  1142. package/dist/core/key/realm-cipher.mjs +60 -0
  1143. package/dist/core/key/realm-cipher.mjs.map +1 -0
  1144. package/dist/core/key/types.d.ts +59 -0
  1145. package/dist/core/key/types.d.ts.map +1 -0
  1146. package/dist/core/key/wrap.d.ts +5 -0
  1147. package/dist/core/key/wrap.d.ts.map +1 -0
  1148. package/dist/core/key/wrap.mjs +21 -0
  1149. package/dist/core/key/wrap.mjs.map +1 -0
  1150. package/dist/core/mail/template/registry.d.ts.map +1 -1
  1151. package/dist/core/mail/template/registry.mjs +3 -1
  1152. package/dist/core/mail/template/registry.mjs.map +1 -1
  1153. package/dist/core/mail/template/templates/mfa-email-otp.d.ts +3 -0
  1154. package/dist/core/mail/template/templates/mfa-email-otp.d.ts.map +1 -0
  1155. package/dist/core/mail/template/templates/mfa-email-otp.mjs +34 -0
  1156. package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -0
  1157. package/dist/core/mail/template/types.d.ts +6 -1
  1158. package/dist/core/mail/template/types.d.ts.map +1 -1
  1159. package/dist/core/mail/template/types.mjs +1 -0
  1160. package/dist/core/mail/template/types.mjs.map +1 -1
  1161. package/dist/core/metrics/index.d.ts +3 -0
  1162. package/dist/core/metrics/index.d.ts.map +1 -0
  1163. package/dist/core/metrics/index.mjs +5 -0
  1164. package/dist/core/metrics/noop.d.ts +8 -0
  1165. package/dist/core/metrics/noop.d.ts.map +1 -0
  1166. package/dist/core/metrics/noop.mjs +14 -0
  1167. package/dist/core/metrics/noop.mjs.map +1 -0
  1168. package/dist/core/metrics/types.d.ts +19 -0
  1169. package/dist/core/metrics/types.d.ts.map +1 -0
  1170. package/dist/core/oauth2/access-policy/index.d.ts +3 -0
  1171. package/dist/core/oauth2/access-policy/index.d.ts.map +1 -0
  1172. package/dist/core/oauth2/access-policy/index.mjs +5 -0
  1173. package/dist/core/oauth2/access-policy/module.d.ts +12 -0
  1174. package/dist/core/oauth2/access-policy/module.d.ts.map +1 -0
  1175. package/dist/core/oauth2/access-policy/module.mjs +32 -0
  1176. package/dist/core/oauth2/access-policy/module.mjs.map +1 -0
  1177. package/dist/core/oauth2/access-policy/types.d.ts +19 -0
  1178. package/dist/core/oauth2/access-policy/types.d.ts.map +1 -0
  1179. package/dist/core/oauth2/authorization/code/issuer/module.d.ts.map +1 -1
  1180. package/dist/core/oauth2/authorization/code/issuer/module.mjs +2 -0
  1181. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  1182. package/dist/core/oauth2/authorization/code/issuer/types.d.ts +6 -1
  1183. package/dist/core/oauth2/authorization/code/issuer/types.d.ts.map +1 -1
  1184. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  1185. package/dist/core/oauth2/authorization/code-request/validator.d.ts.map +1 -1
  1186. package/dist/core/oauth2/authorization/code-request/validator.mjs +1 -0
  1187. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  1188. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +6 -6
  1189. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  1190. package/dist/core/oauth2/authorization/helpers.d.ts +10 -1
  1191. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  1192. package/dist/core/oauth2/authorization/helpers.mjs +28 -2
  1193. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  1194. package/dist/core/oauth2/authorization/index.mjs +2 -2
  1195. package/dist/core/oauth2/authorization/module.d.ts +9 -0
  1196. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  1197. package/dist/core/oauth2/authorization/module.mjs +82 -5
  1198. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  1199. package/dist/core/oauth2/authorization/types.d.ts +36 -0
  1200. package/dist/core/oauth2/authorization/types.d.ts.map +1 -1
  1201. package/dist/core/oauth2/client/authenticator.d.ts +16 -7
  1202. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  1203. package/dist/core/oauth2/client/authenticator.mjs +49 -12
  1204. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  1205. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  1206. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  1207. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  1208. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  1209. package/dist/core/oauth2/end-session/service.d.ts +2 -1
  1210. package/dist/core/oauth2/end-session/service.d.ts.map +1 -1
  1211. package/dist/core/oauth2/end-session/service.mjs +15 -2
  1212. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  1213. package/dist/core/oauth2/end-session/types.d.ts +2 -1
  1214. package/dist/core/oauth2/end-session/types.d.ts.map +1 -1
  1215. package/dist/core/oauth2/grant-types/authorize.d.ts +2 -2
  1216. package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
  1217. package/dist/core/oauth2/grant-types/authorize.mjs +20 -16
  1218. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  1219. package/dist/core/oauth2/grant-types/client-credentials.d.ts.map +1 -1
  1220. package/dist/core/oauth2/grant-types/client-credentials.mjs +10 -8
  1221. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  1222. package/dist/core/oauth2/grant-types/identity.d.ts.map +1 -1
  1223. package/dist/core/oauth2/grant-types/identity.mjs +16 -9
  1224. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  1225. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  1226. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  1227. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  1228. package/dist/core/oauth2/grant-types/password.d.ts +9 -0
  1229. package/dist/core/oauth2/grant-types/password.d.ts.map +1 -1
  1230. package/dist/core/oauth2/grant-types/password.mjs +39 -11
  1231. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  1232. package/dist/core/oauth2/grant-types/refresh-token.d.ts +4 -0
  1233. package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
  1234. package/dist/core/oauth2/grant-types/refresh-token.mjs +29 -13
  1235. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  1236. package/dist/core/oauth2/grant-types/types.d.ts +10 -3
  1237. package/dist/core/oauth2/grant-types/types.d.ts.map +1 -1
  1238. package/dist/core/oauth2/index.d.ts +2 -1
  1239. package/dist/core/oauth2/index.d.ts.map +1 -1
  1240. package/dist/core/oauth2/index.mjs +7 -3
  1241. package/dist/core/oauth2/mfa-login/index.d.ts +3 -0
  1242. package/dist/core/oauth2/mfa-login/index.d.ts.map +1 -0
  1243. package/dist/core/oauth2/mfa-login/index.mjs +5 -0
  1244. package/dist/core/oauth2/mfa-login/module.d.ts +19 -0
  1245. package/dist/core/oauth2/mfa-login/module.d.ts.map +1 -0
  1246. package/dist/core/oauth2/mfa-login/module.mjs +109 -0
  1247. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -0
  1248. package/dist/core/oauth2/mfa-login/types.d.ts +64 -0
  1249. package/dist/core/oauth2/mfa-login/types.d.ts.map +1 -0
  1250. package/dist/core/oauth2/mfa-login/types.mjs +4 -0
  1251. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  1252. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  1253. package/dist/core/oauth2/openid/claims.mjs +6 -19
  1254. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  1255. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  1256. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  1257. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  1258. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  1259. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  1260. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  1261. package/dist/core/oauth2/token/index.mjs +2 -1
  1262. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  1263. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  1264. package/dist/core/oauth2/token/issuer/index.d.ts +1 -0
  1265. package/dist/core/oauth2/token/issuer/index.d.ts.map +1 -1
  1266. package/dist/core/oauth2/token/issuer/index.mjs +3 -1
  1267. package/dist/core/oauth2/token/issuer/mfa/index.d.ts +2 -0
  1268. package/dist/core/oauth2/token/issuer/mfa/index.d.ts.map +1 -0
  1269. package/dist/core/oauth2/token/issuer/mfa/index.mjs +5 -0
  1270. package/dist/core/oauth2/token/issuer/mfa/module.d.ts +18 -0
  1271. package/dist/core/oauth2/token/issuer/mfa/module.d.ts.map +1 -0
  1272. package/dist/core/oauth2/token/issuer/mfa/module.mjs +36 -0
  1273. package/dist/core/oauth2/token/issuer/mfa/module.mjs.map +1 -0
  1274. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  1275. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  1276. package/dist/core/oauth2/token/repository/types.d.ts +10 -0
  1277. package/dist/core/oauth2/token/repository/types.d.ts.map +1 -1
  1278. package/dist/core/oauth2/token/revoker/module.d.ts.map +1 -1
  1279. package/dist/core/oauth2/token/revoker/module.mjs +1 -0
  1280. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  1281. package/dist/core/oauth2/token/signer/module.d.ts +3 -3
  1282. package/dist/core/oauth2/token/signer/module.d.ts.map +1 -1
  1283. package/dist/core/oauth2/token/signer/module.mjs +11 -12
  1284. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  1285. package/dist/core/oauth2/token/verifier/module.d.ts +3 -3
  1286. package/dist/core/oauth2/token/verifier/module.d.ts.map +1 -1
  1287. package/dist/core/oauth2/token/verifier/module.mjs +16 -13
  1288. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  1289. package/dist/core/provisioning/entities/index.d.ts +0 -1
  1290. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  1291. package/dist/core/provisioning/entities/index.mjs +1 -3
  1292. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  1293. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  1294. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  1295. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  1296. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  1297. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  1298. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  1299. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  1300. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  1301. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  1302. package/dist/core/provisioning/index.mjs +1 -3
  1303. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  1304. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  1305. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  1306. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  1307. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  1308. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  1309. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  1310. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  1311. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  1312. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  1313. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  1314. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  1315. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  1316. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  1317. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  1318. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  1319. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  1320. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  1321. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  1322. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  1323. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  1324. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  1325. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  1326. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  1327. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  1328. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  1329. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  1330. package/dist/core/query/index.d.ts +4 -0
  1331. package/dist/core/query/index.d.ts.map +1 -0
  1332. package/dist/core/query/index.mjs +6 -0
  1333. package/dist/core/query/module.d.ts +60 -0
  1334. package/dist/core/query/module.d.ts.map +1 -0
  1335. package/dist/core/query/module.mjs +128 -0
  1336. package/dist/core/query/module.mjs.map +1 -0
  1337. package/dist/core/query/relations.d.ts +39 -0
  1338. package/dist/core/query/relations.d.ts.map +1 -0
  1339. package/dist/core/query/relations.mjs +103 -0
  1340. package/dist/core/query/relations.mjs.map +1 -0
  1341. package/dist/core/query/types.d.ts +39 -0
  1342. package/dist/core/query/types.d.ts.map +1 -0
  1343. package/dist/core/query/types.mjs +4 -0
  1344. package/dist/core/security/policy/evaluator.d.ts +1 -0
  1345. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  1346. package/dist/core/security/policy/evaluator.mjs +52 -5
  1347. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  1348. package/dist/index.mjs +52 -46
  1349. package/dist/swagger.json +4524 -3291
  1350. package/dist/ui/client/.vite/ssr-manifest.json +4606 -934
  1351. package/dist/ui/client/assets/{index-CP9HCHoS.js → index-BmJ2X468.js} +21 -17
  1352. package/dist/ui/client/assets/index-DiOvW76Q.css +2 -0
  1353. package/dist/ui/client/index.html +2 -2
  1354. package/dist/ui/server/server.js +64002 -56519
  1355. package/package.json +35 -24
  1356. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  1357. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  1358. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  1359. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  1360. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  1361. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  1362. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  1363. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  1364. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  1365. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  1366. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  1367. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  1368. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  1369. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  1370. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  1371. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  1372. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  1373. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  1374. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  1375. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1376. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1377. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1378. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1379. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1380. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1381. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1382. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1383. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1384. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1385. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1386. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1387. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1388. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1389. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1390. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1391. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1392. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1393. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1394. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1395. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1396. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1397. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1398. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1399. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1400. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1401. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1402. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1403. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1404. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1405. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1406. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1407. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1408. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1409. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1410. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1411. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1412. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1413. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1414. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1415. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1416. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1417. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1418. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1419. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1420. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1421. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1422. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1423. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1424. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1425. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1426. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1427. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1428. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1429. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1430. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1431. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1432. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1433. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1434. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1435. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1436. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1437. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1438. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1439. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1440. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1441. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1442. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1443. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1444. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1445. package/dist/app/modules/oauth2/repositories/key/index.d.ts.map +0 -1
  1446. package/dist/app/modules/oauth2/repositories/key/index.mjs +0 -5
  1447. package/dist/app/modules/oauth2/repositories/key/repository.d.ts +0 -14
  1448. package/dist/app/modules/oauth2/repositories/key/repository.d.ts.map +0 -1
  1449. package/dist/app/modules/oauth2/repositories/key/repository.mjs +0 -51
  1450. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +0 -1
  1451. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1452. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1453. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1454. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1455. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1456. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1457. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1458. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1459. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1460. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1461. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1462. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1463. package/dist/core/entities/robot/index.d.ts +0 -3
  1464. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1465. package/dist/core/entities/robot/index.mjs +0 -5
  1466. package/dist/core/entities/robot/service.d.ts +0 -28
  1467. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1468. package/dist/core/entities/robot/service.mjs +0 -201
  1469. package/dist/core/entities/robot/service.mjs.map +0 -1
  1470. package/dist/core/entities/robot/types.d.ts +0 -24
  1471. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1472. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1473. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1474. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1475. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1476. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1477. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1478. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1479. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1480. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1481. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1482. package/dist/core/entities/robot-role/index.mjs +0 -5
  1483. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1484. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1485. package/dist/core/entities/robot-role/service.mjs +0 -90
  1486. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1487. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1488. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1489. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1490. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1491. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1492. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1493. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1494. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1495. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -38
  1496. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1497. package/dist/core/oauth2/key/index.d.ts +0 -2
  1498. package/dist/core/oauth2/key/index.d.ts.map +0 -1
  1499. package/dist/core/oauth2/key/types.d.ts +0 -16
  1500. package/dist/core/oauth2/key/types.d.ts.map +0 -1
  1501. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1502. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1503. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1504. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1505. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1506. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1507. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1508. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1509. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1510. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1511. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1512. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1513. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1514. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1515. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1516. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1517. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1518. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1519. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1520. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1521. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1522. package/dist/ui/client/assets/index-VM4JXBXw.css +0 -2
  1523. /package/dist/adapters/database/domains/{robot-permission → consent}/index.d.ts +0 -0
  1524. /package/dist/adapters/http/controllers/entities/{robot → consent}/index.d.ts +0 -0
  1525. /package/dist/{core/authentication/credential/entities/robot → adapters/http/controllers/entities/event}/index.d.ts +0 -0
  1526. /package/dist/{core/authentication/entities/robot → adapters/http/controllers/entities/key}/index.d.ts +0 -0
  1527. /package/dist/{core/entities/robot-permission → adapters/http/request}/types.mjs +0 -0
  1528. /package/dist/app/modules/database/repositories/{robot-permission → event}/index.d.ts +0 -0
  1529. /package/dist/app/modules/database/repositories/{robot-role → key}/index.d.ts +0 -0
  1530. /package/dist/app/modules/database/repositories/{robot → trust-anchor}/index.d.ts +0 -0
  1531. /package/dist/app/modules/{oauth2/repositories/key → database/repositories/user-authenticator}/index.d.ts +0 -0
  1532. /package/dist/core/{entities/robot-permission → authentication/login-throttle}/index.d.ts +0 -0
  1533. /package/dist/core/{entities/robot-role → authentication/login-throttle}/types.mjs +0 -0
  1534. /package/dist/core/{provisioning/synchronizer/robot → client-certificate}/index.d.ts +0 -0
  1535. /package/dist/core/{entities/robot → client-certificate}/types.mjs +0 -0
  1536. /package/dist/core/{identity/entities/robot → entities/event}/types.mjs +0 -0
  1537. /package/dist/core/{oauth2 → entities}/key/types.mjs +0 -0
  1538. /package/dist/core/{provisioning/entities/robot → entities/trust-anchor}/types.mjs +0 -0
  1539. /package/dist/core/{provisioning/synchronizer/robot → key}/types.mjs +0 -0
  1540. /package/dist/core/{identity/entities/robot/index.mjs → metrics/types.mjs} +0 -0
  1541. /package/dist/core/oauth2/{key/index.mjs → access-policy/types.mjs} +0 -0
@@ -4,10 +4,12 @@ import.meta.url;
4
4
  import { assertClientGrantAllowed } from "../../../../../core/oauth2/client/grant-type.mjs";
5
5
  import { OAuth2AuthorizeGrant } from "../../../../../core/oauth2/grant-types/authorize.mjs";
6
6
  import "../../../../../core/index.mjs";
7
+ import { extractOAuth2ClientCertificateEvidence } from "./utils/certificate.mjs";
7
8
  import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
8
9
  import { readRealmHint } from "./utils/realm.mjs";
9
10
  import "./utils/index.mjs";
10
- import { OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
11
+ import { isClientPublic } from "@authup/core-kit";
12
+ import { OAuth2GrantError, OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
11
13
  import { getRequestHeader, getRequestIP } from "routup";
12
14
  import { readRequestBody } from "@routup/basic/body";
13
15
  import { useRequestQuery } from "@routup/basic/query";
@@ -16,11 +18,15 @@ var HTTPOAuth2AuthorizeGrant = class extends OAuth2AuthorizeGrant {
16
18
  codeVerifier;
17
19
  clientAuthenticator;
18
20
  realmRepository;
21
+ accessPolicyEvaluator;
22
+ certificateSource;
19
23
  constructor(ctx) {
20
24
  super(ctx);
21
25
  this.codeVerifier = ctx.codeVerifier;
22
26
  this.clientAuthenticator = ctx.clientAuthenticator;
23
27
  this.realmRepository = ctx.realmRepository;
28
+ this.accessPolicyEvaluator = ctx.accessPolicyEvaluator;
29
+ this.certificateSource = ctx.certificateSource ?? "disabled";
24
30
  }
25
31
  async runWithRequest(event) {
26
32
  const body = await readRequestBody(event);
@@ -31,16 +37,30 @@ var HTTPOAuth2AuthorizeGrant = class extends OAuth2AuthorizeGrant {
31
37
  if (!code) throw OAuth2RequestError.malformed();
32
38
  const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
33
39
  const realm = await this.realmRepository.resolve(readRealmHint(body, query), true);
34
- const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id);
40
+ const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);
41
+ const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id, certificateEvidence);
42
+ const confirmation = this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence);
35
43
  assertClientGrantAllowed(client, OAuth2TokenGrant.AUTHORIZATION_CODE);
36
44
  const entity = await this.codeVerifier.verify(code, {
37
45
  redirectUri,
38
46
  codeVerifier,
39
47
  clientId: client.id,
40
- clientIsPublic: !client.is_confidential,
41
- realmId: client.realm_id
48
+ clientIsPublic: isClientPublic(client),
49
+ realmId: client.realmId
42
50
  });
51
+ if (client.accessPolicyId) {
52
+ let allowed = false;
53
+ if (this.accessPolicyEvaluator) allowed = await this.accessPolicyEvaluator.evaluate(client.accessPolicyId, {
54
+ type: entity.sub_kind,
55
+ id: entity.sub,
56
+ realmId: entity.realm_id ?? null,
57
+ realmName: entity.realm_name ?? null,
58
+ clientId: entity.client_id ?? null
59
+ });
60
+ if (!allowed) throw OAuth2GrantError.invalid();
61
+ }
43
62
  return this.runWith(entity, {
63
+ confirmation,
44
64
  ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
45
65
  userAgent: getRequestHeader(event, "user-agent") ?? void 0
46
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"authorize.mjs","names":["OAuth2RequestError","OAuth2TokenGrant","readRequestBody","useRequestQuery","getRequestHeader","getRequestIP","OAuth2AuthorizeGrant","assertClientGrantAllowed","extractClientCredentialsFromRequest","readRealmHint","HTTPOAuth2AuthorizeGrant","codeVerifier","clientAuthenticator","realmRepository","ctx","runWithRequest","event","body","query","code","pickStringParam","redirectUri","malformed","clientId","clientSecret","realm","resolve","client","authenticate","id","AUTHORIZATION_CODE","entity","verify","clientIsPublic","is_confidential","realmId","realm_id","runWith","ipAddress","trustProxy","undefined","userAgent","key","value","length"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/authorize.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { OAuth2AuthorizeGrant, assertClientGrantAllowed } from '../../../../../core/index.ts';\nimport type {\n IOAuth2AuthorizationCodeVerifier,\n IRealmRepository,\n OAuth2ClientAuthenticator,\n} from '../../../../../core/index.ts';\nimport type { HTTPOAuth2AuthorizeGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest, readRealmHint } from './utils/index.ts';\n\nexport class HTTPOAuth2AuthorizeGrant extends OAuth2AuthorizeGrant implements IHTTPOAuth2Grant {\n protected codeVerifier : IOAuth2AuthorizationCodeVerifier;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected realmRepository : IRealmRepository;\n\n constructor(ctx: HTTPOAuth2AuthorizeGrantContext) {\n super(ctx);\n\n this.codeVerifier = ctx.codeVerifier;\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.realmRepository = ctx.realmRepository;\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const query = useRequestQuery(event);\n\n const code = this.pickStringParam(body, query, 'code');\n const redirectUri = this.pickStringParam(body, query, 'redirect_uri');\n const codeVerifier = this.pickStringParam(body, query, 'code_verifier');\n if (!code) {\n throw OAuth2RequestError.malformed();\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const realm = await this.realmRepository.resolve(readRealmHint(body, query), true);\n\n const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id);\n\n assertClientGrantAllowed(client, OAuth2TokenGrant.AUTHORIZATION_CODE);\n\n const entity = await this.codeVerifier.verify(code, {\n redirectUri,\n codeVerifier,\n clientId: client.id,\n clientIsPublic: !client.is_confidential,\n realmId: client.realm_id,\n });\n\n return this.runWith(entity, {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n\n protected pickStringParam(\n body: Record<string, any> | undefined,\n query: Record<string, any> | undefined,\n key: string,\n ): string | undefined {\n const value = body?.[key] ?? query?.[key];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAaU,2BAAb,cAA8CJ,qBAAAA;CAChCK;CAEAC;CAEAC;CAEV,YAAYC,KAAsC;EAC9C,MAAMA,GAAAA;EAEN,KAAKH,eAAeG,IAAIH;EACxB,KAAKC,sBAAsBE,IAAIF;EAC/B,KAAKC,kBAAkBC,IAAID;CAC/B;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAMC,OAAO,MAAMf,gBAAgBc,KAAAA;EACnC,MAAME,QAAQf,gBAAgBa,KAAAA;EAE9B,MAAMG,OAAO,KAAKC,gBAAgBH,MAAMC,OAAO,MAAA;EAC/C,MAAMG,cAAc,KAAKD,gBAAgBH,MAAMC,OAAO,cAAA;EACtD,MAAMP,eAAe,KAAKS,gBAAgBH,MAAMC,OAAO,eAAA;EACvD,IAAI,CAACC,MACD,MAAMnB,mBAAmBsB,UAAS;EAGtC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMhB,oCAAoCQ,KAAAA;EAC7E,MAAMS,QAAQ,MAAM,KAAKZ,gBAAgBa,QAAQjB,cAAcQ,MAAMC,KAAAA,GAAQ,IAAA;EAE7E,MAAMS,SAAS,MAAM,KAAKf,oBAAoBgB,aAAaL,UAAUC,cAAcC,MAAMI,EAAE;EAE3FtB,yBAAyBoB,QAAQ1B,iBAAiB6B,kBAAkB;EAEpE,MAAMC,SAAS,MAAM,KAAKpB,aAAaqB,OAAOb,MAAM;GAChDE;GACAV;GACAY,UAAUI,OAAOE;GACjBI,gBAAgB,CAACN,OAAOO;GACxBC,SAASR,OAAOS;EACpB,CAAA;EAEA,OAAO,KAAKC,QAAQN,QAAQ;GACxBO,WAAWjC,aAAaW,OAAO,EAAEuB,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWrC,iBAAiBY,OAAO,YAAA,KAAiBwB,KAAAA;EACxD,CAAA;CACJ;CAEUpB,gBACNH,MACAC,OACAwB,KACkB;EAClB,MAAMC,QAAQ1B,OAAOyB,QAAQxB,QAAQwB;EACrC,OAAO,OAAOC,UAAU,YAAYA,MAAMC,SAAS,IAAID,QAAQH,KAAAA;CACnE;AACJ"}
1
+ {"version":3,"file":"authorize.mjs","names":["isClientPublic","OAuth2GrantError","OAuth2RequestError","OAuth2TokenGrant","readRequestBody","useRequestQuery","getRequestHeader","getRequestIP","OAuth2AuthorizeGrant","assertClientGrantAllowed","extractClientCredentialsFromRequest","extractOAuth2ClientCertificateEvidence","readRealmHint","HTTPOAuth2AuthorizeGrant","codeVerifier","clientAuthenticator","realmRepository","accessPolicyEvaluator","certificateSource","ctx","runWithRequest","event","body","query","code","pickStringParam","redirectUri","malformed","clientId","clientSecret","realm","resolve","certificateEvidence","client","authenticate","id","confirmation","resolveTokenBinding","AUTHORIZATION_CODE","entity","verify","clientIsPublic","realmId","accessPolicyId","allowed","evaluate","type","sub_kind","sub","realm_id","realmName","realm_name","client_id","invalid","runWith","ipAddress","trustProxy","undefined","userAgent","key","value","length"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/authorize.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { isClientPublic } from '@authup/core-kit';\nimport { OAuth2GrantError, OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { OAuth2AuthorizeGrant, assertClientGrantAllowed } from '../../../../../core/index.ts';\nimport type {\n IOAuth2AccessPolicyEvaluator,\n IOAuth2AuthorizationCodeVerifier,\n IRealmRepository,\n OAuth2ClientAuthenticator,\n} from '../../../../../core/index.ts';\nimport type { HTTPOAuth2AuthorizeGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport type { CertificateSource } from '../../../request/index.ts';\nimport {\n extractClientCredentialsFromRequest,\n extractOAuth2ClientCertificateEvidence,\n readRealmHint,\n} from './utils/index.ts';\n\nexport class HTTPOAuth2AuthorizeGrant extends OAuth2AuthorizeGrant implements IHTTPOAuth2Grant {\n protected codeVerifier : IOAuth2AuthorizationCodeVerifier;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected realmRepository : IRealmRepository;\n\n protected accessPolicyEvaluator? : IOAuth2AccessPolicyEvaluator;\n\n protected certificateSource: CertificateSource;\n\n constructor(ctx: HTTPOAuth2AuthorizeGrantContext) {\n super(ctx);\n\n this.codeVerifier = ctx.codeVerifier;\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.realmRepository = ctx.realmRepository;\n this.accessPolicyEvaluator = ctx.accessPolicyEvaluator;\n this.certificateSource = ctx.certificateSource ?? 'disabled';\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const query = useRequestQuery(event);\n\n const code = this.pickStringParam(body, query, 'code');\n const redirectUri = this.pickStringParam(body, query, 'redirect_uri');\n const codeVerifier = this.pickStringParam(body, query, 'code_verifier');\n if (!code) {\n throw OAuth2RequestError.malformed();\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const realm = await this.realmRepository.resolve(readRealmHint(body, query), true);\n const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);\n\n const client = await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n realm.id,\n certificateEvidence,\n );\n const confirmation = this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence);\n\n assertClientGrantAllowed(client, OAuth2TokenGrant.AUTHORIZATION_CODE);\n\n const entity = await this.codeVerifier.verify(code, {\n redirectUri,\n codeVerifier,\n clientId: client.id,\n clientIsPublic: isClientPublic(client),\n realmId: client.realmId,\n });\n\n // Application access policy (plan 052), /token backstop: a code\n // minted before the policy was attached (or outside authorize())\n // must not redeem. The subject is built from the code-blob scalars —\n // no DB identity load; attribute-rich policies are enforced at the\n // issuance legs. Denial = invalid_grant, never access_denied here.\n if (client.accessPolicyId) {\n let allowed = false;\n if (this.accessPolicyEvaluator) {\n allowed = await this.accessPolicyEvaluator.evaluate(client.accessPolicyId, {\n type: entity.sub_kind,\n id: entity.sub,\n realmId: entity.realm_id ?? null,\n realmName: entity.realm_name ?? null,\n clientId: entity.client_id ?? null,\n });\n }\n\n if (!allowed) {\n throw OAuth2GrantError.invalid();\n }\n }\n\n return this.runWith(entity, {\n confirmation,\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n\n protected pickStringParam(\n body: Record<string, any> | undefined,\n query: Record<string, any> | undefined,\n key: string,\n ): string | undefined {\n const value = body?.[key] ?? query?.[key];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAaa,2BAAb,cAA8CL,qBAAAA;CAChCM;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAAsC;EAC9C,MAAMA,GAAAA;EAEN,KAAKL,eAAeK,IAAIL;EACxB,KAAKC,sBAAsBI,IAAIJ;EAC/B,KAAKC,kBAAkBG,IAAIH;EAC3B,KAAKC,wBAAwBE,IAAIF;EACjC,KAAKC,oBAAoBC,IAAID,qBAAqB;CACtD;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAMC,OAAO,MAAMlB,gBAAgBiB,KAAAA;EACnC,MAAME,QAAQlB,gBAAgBgB,KAAAA;EAE9B,MAAMG,OAAO,KAAKC,gBAAgBH,MAAMC,OAAO,MAAA;EAC/C,MAAMG,cAAc,KAAKD,gBAAgBH,MAAMC,OAAO,cAAA;EACtD,MAAMT,eAAe,KAAKW,gBAAgBH,MAAMC,OAAO,eAAA;EACvD,IAAI,CAACC,MACD,MAAMtB,mBAAmByB,UAAS;EAGtC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMnB,oCAAoCW,KAAAA;EAC7E,MAAMS,QAAQ,MAAM,KAAKd,gBAAgBe,QAAQnB,cAAcU,MAAMC,KAAAA,GAAQ,IAAA;EAC7E,MAAMS,sBAAsB,MAAMrB,uCAAuCU,OAAO,KAAKH,iBAAiB;EAEtG,MAAMe,SAAS,MAAM,KAAKlB,oBAAoBmB,aAC1CN,UACAC,cACAC,MAAMK,IACNH,mBAAAA;EAEJ,MAAMI,eAAe,KAAKrB,oBAAoBsB,oBAAoBJ,QAAQD,mBAAAA;EAE1EvB,yBAAyBwB,QAAQ9B,iBAAiBmC,kBAAkB;EAEpE,MAAMC,SAAS,MAAM,KAAKzB,aAAa0B,OAAOhB,MAAM;GAChDE;GACAZ;GACAc,UAAUK,OAAOE;GACjBM,gBAAgBzC,eAAeiC,MAAAA;GAC/BS,SAAST,OAAOS;EACpB,CAAA;EAOA,IAAIT,OAAOU,gBAAgB;GACvB,IAAIC,UAAU;GACd,IAAI,KAAK3B,uBACL2B,UAAU,MAAM,KAAK3B,sBAAsB4B,SAASZ,OAAOU,gBAAgB;IACvEG,MAAMP,OAAOQ;IACbZ,IAAII,OAAOS;IACXN,SAASH,OAAOU,YAAY;IAC5BC,WAAWX,OAAOY,cAAc;IAChCvB,UAAUW,OAAOa,aAAa;GAClC,CAAA;GAGJ,IAAI,CAACR,SACD,MAAM3C,iBAAiBoD,QAAO;EAEtC;EAEA,OAAO,KAAKC,QAAQf,QAAQ;GACxBH;GACAmB,WAAWhD,aAAac,OAAO,EAAEmC,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWpD,iBAAiBe,OAAO,YAAA,KAAiBoC,KAAAA;EACxD,CAAA;CACJ;CAEUhC,gBACNH,MACAC,OACAoC,KACkB;EAClB,MAAMC,QAAQtC,OAAOqC,QAAQpC,QAAQoC;EACrC,OAAO,OAAOC,UAAU,YAAYA,MAAMC,SAAS,IAAID,QAAQH,KAAAA;CACnE;AACJ"}
@@ -1,11 +1,12 @@
1
1
  import type { OAuth2TokenGrantResponse } from '@authup/specs';
2
- import type { Client } from '@authup/core-kit';
3
2
  import type { IAppEvent } from 'routup';
4
- import type { ICredentialsAuthenticator } from '../../../../../core/index.ts';
3
+ import type { OAuth2ClientAuthenticator } from '../../../../../core/index.ts';
5
4
  import { ClientCredentialsGrant } from '../../../../../core/index.ts';
6
5
  import type { HTTPOAuth2ClientCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';
6
+ import type { CertificateSource } from '../../../request/index.ts';
7
7
  export declare class HTTPClientCredentialsGrant extends ClientCredentialsGrant implements IHTTPOAuth2Grant {
8
- protected authenticator: ICredentialsAuthenticator<Client>;
8
+ protected clientAuthenticator: OAuth2ClientAuthenticator;
9
+ protected certificateSource: CertificateSource;
9
10
  constructor(ctx: HTTPOAuth2ClientCredentialsGrantContext);
10
11
  runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse>;
11
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-credentials.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAA4B,MAAM,8BAA8B,CAAC;AAChG,OAAO,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5F,qBAAa,0BAA2B,SAAQ,sBAAuB,YAAW,gBAAgB;IAC9F,SAAS,CAAC,aAAa,EAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;gBAEhD,GAAG,EAAE,uCAAuC;IAMlD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAkB5E"}
1
+ {"version":3,"file":"client-credentials.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAI9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAA4B,MAAM,8BAA8B,CAAC;AAChG,OAAO,KAAK,EAAE,uCAAuC,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,qBAAa,0BAA2B,SAAQ,sBAAuB,YAAW,gBAAgB;IAC9F,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;IAE1D,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAEnC,GAAG,EAAE,uCAAuC;IAOlD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6B5E"}
@@ -4,26 +4,33 @@ import.meta.url;
4
4
  import { assertClientGrantAllowed } from "../../../../../core/oauth2/client/grant-type.mjs";
5
5
  import { ClientCredentialsGrant } from "../../../../../core/oauth2/grant-types/client-credentials.mjs";
6
6
  import "../../../../../core/index.mjs";
7
+ import { extractOAuth2ClientCertificateEvidence } from "./utils/certificate.mjs";
7
8
  import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
8
9
  import "./utils/index.mjs";
9
- import { EntityCredentialsInvalidError } from "@authup/errors";
10
- import { OAuth2TokenGrant } from "@authup/specs";
10
+ import { ClientAuthMethod } from "@authup/core-kit";
11
+ import { OAuth2ClientError, OAuth2TokenGrant } from "@authup/specs";
11
12
  import { getRequestHeader, getRequestIP } from "routup";
12
13
  import { readRequestBody } from "@routup/basic/body";
13
14
  //#region src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts
14
15
  var HTTPClientCredentialsGrant = class extends ClientCredentialsGrant {
15
- authenticator;
16
+ clientAuthenticator;
17
+ certificateSource;
16
18
  constructor(ctx) {
17
19
  super(ctx);
18
- this.authenticator = ctx.authenticator;
20
+ this.clientAuthenticator = ctx.clientAuthenticator;
21
+ this.certificateSource = ctx.certificateSource ?? "disabled";
19
22
  }
20
23
  async runWithRequest(event) {
21
24
  const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
22
25
  const realmId = (await readRequestBody(event))?.realm_id;
23
- if (!clientId) throw new EntityCredentialsInvalidError({ entity: "client" });
24
- const client = await this.authenticator.authenticate(clientId, clientSecret ?? "", realmId);
26
+ if (!clientId) throw OAuth2ClientError.invalid();
27
+ const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);
28
+ const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realmId, certificateEvidence);
29
+ if (client.authMethod === ClientAuthMethod.NONE) throw OAuth2ClientError.invalid();
30
+ const confirmation = this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence);
25
31
  assertClientGrantAllowed(client, OAuth2TokenGrant.CLIENT_CREDENTIALS);
26
32
  return this.runWith(client, {
33
+ confirmation,
27
34
  ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
28
35
  userAgent: getRequestHeader(event, "user-agent") ?? void 0
29
36
  });
@@ -1 +1 @@
1
- {"version":3,"file":"client-credentials.mjs","names":["OAuth2TokenGrant","readRequestBody","EntityCredentialsInvalidError","getRequestHeader","getRequestIP","ClientCredentialsGrant","assertClientGrantAllowed","extractClientCredentialsFromRequest","HTTPClientCredentialsGrant","authenticator","ctx","runWithRequest","event","clientId","clientSecret","body","realmId","realm_id","entity","client","authenticate","CLIENT_CREDENTIALS","runWith","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { Client } from '@authup/core-kit';\nimport { EntityCredentialsInvalidError } from '@authup/errors';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { ICredentialsAuthenticator } from '../../../../../core/index.ts';\nimport { ClientCredentialsGrant, assertClientGrantAllowed } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2ClientCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPClientCredentialsGrant extends ClientCredentialsGrant implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<Client>;\n\n constructor(ctx: HTTPOAuth2ClientCredentialsGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const body = await readRequestBody(event);\n const realmId = body?.realm_id;\n\n if (!clientId) {\n throw new EntityCredentialsInvalidError({ entity: 'client' });\n }\n\n const client = await this.authenticator.authenticate(clientId, clientSecret ?? '', realmId);\n\n assertClientGrantAllowed(client, OAuth2TokenGrant.CLIENT_CREDENTIALS);\n\n return this.runWith(client, {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,IAAaQ,6BAAb,cAAgDH,uBAAAA;CAClCI;CAEV,YAAYC,KAA8C;EACtD,MAAMA,GAAAA;EAEN,KAAKD,gBAAgBC,IAAID;CAC7B;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAM,EAAEC,UAAUC,iBAAiB,MAAMP,oCAAoCK,KAAAA;EAE7E,MAAMI,WAAUD,MADGd,gBAAgBW,KAAAA,EAAAA,EACbK;EAEtB,IAAI,CAACJ,UACD,MAAM,IAAIX,8BAA8B,EAAEgB,QAAQ,SAAS,CAAA;EAG/D,MAAMC,SAAS,MAAM,KAAKV,cAAcW,aAAaP,UAAUC,gBAAgB,IAAIE,OAAAA;EAEnFV,yBAAyBa,QAAQnB,iBAAiBqB,kBAAkB;EAEpE,OAAO,KAAKC,QAAQH,QAAQ;GACxBI,WAAWnB,aAAaQ,OAAO,EAAEY,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWvB,iBAAiBS,OAAO,YAAA,KAAiBa,KAAAA;EACxD,CAAA;CACJ;AACJ"}
1
+ {"version":3,"file":"client-credentials.mjs","names":["OAuth2ClientError","OAuth2TokenGrant","readRequestBody","ClientAuthMethod","getRequestHeader","getRequestIP","ClientCredentialsGrant","assertClientGrantAllowed","extractClientCredentialsFromRequest","extractOAuth2ClientCertificateEvidence","HTTPClientCredentialsGrant","clientAuthenticator","certificateSource","ctx","runWithRequest","event","clientId","clientSecret","body","realmId","realm_id","invalid","certificateEvidence","client","authenticate","authMethod","NONE","confirmation","resolveTokenBinding","CLIENT_CREDENTIALS","runWith","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2ClientError, OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { ClientAuthMethod } from '@authup/core-kit';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { OAuth2ClientAuthenticator } from '../../../../../core/index.ts';\nimport { ClientCredentialsGrant, assertClientGrantAllowed } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2ClientCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport type { CertificateSource } from '../../../request/index.ts';\nimport {\n extractClientCredentialsFromRequest,\n extractOAuth2ClientCertificateEvidence,\n} from './utils/index.ts';\n\nexport class HTTPClientCredentialsGrant extends ClientCredentialsGrant implements IHTTPOAuth2Grant {\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected certificateSource: CertificateSource;\n\n constructor(ctx: HTTPOAuth2ClientCredentialsGrantContext) {\n super(ctx);\n\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.certificateSource = ctx.certificateSource ?? 'disabled';\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const body = await readRequestBody(event);\n const realmId = body?.realm_id;\n\n if (!clientId) {\n throw OAuth2ClientError.invalid();\n }\n\n const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);\n const client = await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n realmId,\n certificateEvidence,\n );\n if (client.authMethod === ClientAuthMethod.NONE) {\n throw OAuth2ClientError.invalid();\n }\n const confirmation = this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence);\n\n assertClientGrantAllowed(client, OAuth2TokenGrant.CLIENT_CREDENTIALS);\n\n return this.runWith(client, {\n confirmation,\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAsBA,IAAaU,6BAAb,cAAgDJ,uBAAAA;CAClCK;CAEAC;CAEV,YAAYC,KAA8C;EACtD,MAAMA,GAAAA;EAEN,KAAKF,sBAAsBE,IAAIF;EAC/B,KAAKC,oBAAoBC,IAAID,qBAAqB;CACtD;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAM,EAAEC,UAAUC,iBAAiB,MAAMT,oCAAoCO,KAAAA;EAE7E,MAAMI,WAAUD,MADGhB,gBAAgBa,KAAAA,EAAAA,EACbK;EAEtB,IAAI,CAACJ,UACD,MAAMhB,kBAAkBqB,QAAO;EAGnC,MAAMC,sBAAsB,MAAMb,uCAAuCM,OAAO,KAAKH,iBAAiB;EACtG,MAAMW,SAAS,MAAM,KAAKZ,oBAAoBa,aAC1CR,UACAC,cACAE,SACAG,mBAAAA;EAEJ,IAAIC,OAAOE,eAAetB,iBAAiBuB,MACvC,MAAM1B,kBAAkBqB,QAAO;EAEnC,MAAMM,eAAe,KAAKhB,oBAAoBiB,oBAAoBL,QAAQD,mBAAAA;EAE1Ef,yBAAyBgB,QAAQtB,iBAAiB4B,kBAAkB;EAEpE,OAAO,KAAKC,QAAQP,QAAQ;GACxBI;GACAI,WAAW1B,aAAaU,OAAO,EAAEiB,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAW9B,iBAAiBW,OAAO,YAAA,KAAiBkB,KAAAA;EACxD,CAAA;CACJ;AACJ"}
@@ -4,6 +4,5 @@ export * from './client-credentials.ts';
4
4
  export * from './identity.ts';
5
5
  export * from './password.ts';
6
6
  export * from './refresh_token.ts';
7
- export * from './robot-credentials.ts';
8
7
  export * from './types.ts';
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/index.ts"],"names":[],"mappings":"AAOA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/index.ts"],"names":[],"mappings":"AAOA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AAEnC,cAAc,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { extractOAuth2ClientCertificateEvidence } from "./utils/certificate.mjs";
4
5
  import { extractClientCredentialsFromRequest, readStringField } from "./utils/credentials.mjs";
5
6
  import { guessOauth2GrantTypeByRequest } from "./utils/guess.mjs";
6
7
  import { readRealmHint } from "./utils/realm.mjs";
@@ -10,5 +11,4 @@ import { HTTPClientCredentialsGrant } from "./client-credentials.mjs";
10
11
  import { HTTPOAuth2IdentityGrantType } from "./identity.mjs";
11
12
  import { HTTPPasswordGrant } from "./password.mjs";
12
13
  import { HTTPOAuth2RefreshTokenGrant } from "./refresh_token.mjs";
13
- import { HTTPRobotCredentialsGrant } from "./robot-credentials.mjs";
14
- export { HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, HTTPRobotCredentialsGrant, extractClientCredentialsFromRequest, guessOauth2GrantTypeByRequest, readRealmHint, readStringField };
14
+ export { HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, extractClientCredentialsFromRequest, extractOAuth2ClientCertificateEvidence, guessOauth2GrantTypeByRequest, readRealmHint, readStringField };
@@ -1,14 +1,50 @@
1
1
  import type { User } from '@authup/core-kit';
2
- import type { OAuth2TokenGrantResponse } from '@authup/specs';
2
+ import { UserAuthenticatorKind } from '@authup/core-kit';
3
+ import type { Logger } from '@authup/server-kit';
4
+ import type { OAuth2TokenConfirmation, OAuth2TokenGrantResponse } from '@authup/specs';
3
5
  import type { IAppEvent } from 'routup';
4
- import type { ICredentialsAuthenticator, IRealmRepository, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';
6
+ import type { ICredentialsAuthenticator, ILoginThrottleService, IOAuth2MfaLoginService, IRealmRepository, IUserAuthenticatorService, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';
5
7
  import { PasswordGrantType } from '../../../../../core/index.ts';
6
8
  import type { HTTPOAuth2PasswordGrantContext, IHTTPOAuth2Grant } from './types.ts';
9
+ import type { CertificateSource } from '../../../request/index.ts';
7
10
  export declare class HTTPPasswordGrant extends PasswordGrantType implements IHTTPOAuth2Grant {
8
11
  protected authenticator: ICredentialsAuthenticator<User>;
9
12
  protected clientAuthenticator: OAuth2ClientAuthenticator;
10
13
  protected realmRepository: IRealmRepository;
14
+ protected loginThrottleService?: ILoginThrottleService;
15
+ protected userAuthenticatorService?: IUserAuthenticatorService;
16
+ protected mfaLoginService?: IOAuth2MfaLoginService;
17
+ protected logger?: Logger;
18
+ protected certificateSource: CertificateSource;
11
19
  constructor(ctx: HTTPOAuth2PasswordGrantContext);
12
20
  runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse>;
21
+ /**
22
+ * MFA gate on the direct password grant: a user holding a confirmed
23
+ * device must send a valid `otp` form parameter (TOTP or recovery
24
+ * code, classified by shape) — otherwise `mfa_required`. Users
25
+ * without a device pass through (they could never enroll otherwise).
26
+ */
27
+ protected verifySecondFactor(user: User, body: Record<string, any>, ctx: {
28
+ ipAddress?: string;
29
+ userAgent?: string;
30
+ clientId: string | null;
31
+ confirmation?: OAuth2TokenConfirmation;
32
+ }): Promise<string | undefined>;
33
+ /**
34
+ * Issue the MFA-pending ticket for factor kinds that cannot complete
35
+ * inside the single grant POST (email needs a server-sent code,
36
+ * WebAuthn an interactive ceremony). TOTP/recovery-only users keep
37
+ * the inline `otp` fast-path and get no ticket — a pending session
38
+ * per plain code entry would be pure churn.
39
+ */
40
+ protected issueMfaTicket(user: User, kinds: `${UserAuthenticatorKind}`[], ctx: {
41
+ ipAddress?: string;
42
+ userAgent?: string;
43
+ clientId: string | null;
44
+ confirmation?: OAuth2TokenConfirmation;
45
+ }): Promise<{
46
+ token: string;
47
+ expiresIn: number;
48
+ } | null>;
13
49
  }
14
50
  //# sourceMappingURL=password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAC3H,OAAO,EAAE,iBAAiB,EAA4B,MAAM,8BAA8B,CAAC;AAC3F,OAAO,KAAK,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnF,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,gBAAgB;IAChF,SAAS,CAAC,aAAa,EAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;IAE1D,SAAS,CAAC,eAAe,EAAG,gBAAgB,CAAC;gBAEjC,GAAG,EAAE,8BAA8B;IAQzC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAmC5E"}
1
+ {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAyB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EACR,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,iBAAiB,EAGpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAQnE,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,gBAAgB;IAChF,SAAS,CAAC,aAAa,EAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;IAE1D,SAAS,CAAC,eAAe,EAAG,gBAAgB,CAAC;IAE7C,SAAS,CAAC,oBAAoB,CAAC,EAAG,qBAAqB,CAAC;IAExD,SAAS,CAAC,wBAAwB,CAAC,EAAG,yBAAyB,CAAC;IAEhE,SAAS,CAAC,eAAe,CAAC,EAAG,sBAAsB,CAAC;IAEpD,SAAS,CAAC,MAAM,CAAC,EAAG,MAAM,CAAC;IAE3B,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAEnC,GAAG,EAAE,8BAA8B;IAazC,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0FzE;;;;;OAKG;cACa,kBAAkB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,GAAG,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,uBAAuB,CAAC;KAC1C,GACF,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwD9B;;;;;;OAMG;cACa,cAAc,CAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,GAAG,qBAAqB,EAAE,EAAE,EACnC,GAAG,EAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,uBAAuB,CAAC;KAC1C,GACD,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAkC3D"}
@@ -1,13 +1,17 @@
1
1
  import "node:path";
2
2
  import "node:url";
3
3
  import.meta.url;
4
+ import { guessUserAuthenticatorKindByResponse } from "../../../../../core/entities/user-authenticator/helpers.mjs";
4
5
  import { assertClientGrantAllowed } from "../../../../../core/oauth2/client/grant-type.mjs";
5
6
  import { PasswordGrantType } from "../../../../../core/oauth2/grant-types/password.mjs";
6
7
  import "../../../../../core/index.mjs";
8
+ import { extractOAuth2ClientCertificateEvidence } from "./utils/certificate.mjs";
7
9
  import { extractClientCredentialsFromRequest, readStringField } from "./utils/credentials.mjs";
8
10
  import { readRealmHint } from "./utils/realm.mjs";
9
11
  import "./utils/index.mjs";
10
- import { OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
12
+ import { EventName, EventScope, UserAuthenticatorKind } from "@authup/core-kit";
13
+ import { isEntityCredentialsInvalidError, isEntityInactiveError } from "@authup/errors";
14
+ import { OAuth2MfaRequiredError, OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
11
15
  import { getRequestHeader, getRequestIP } from "routup";
12
16
  import { readRequestBody } from "@routup/basic/body";
13
17
  //#region src/adapters/http/adapters/oauth2/grant-types/password.ts
@@ -15,11 +19,21 @@ var HTTPPasswordGrant = class extends PasswordGrantType {
15
19
  authenticator;
16
20
  clientAuthenticator;
17
21
  realmRepository;
22
+ loginThrottleService;
23
+ userAuthenticatorService;
24
+ mfaLoginService;
25
+ logger;
26
+ certificateSource;
18
27
  constructor(ctx) {
19
28
  super(ctx);
20
29
  this.authenticator = ctx.authenticator;
21
30
  this.clientAuthenticator = ctx.clientAuthenticator;
22
31
  this.realmRepository = ctx.realmRepository;
32
+ this.loginThrottleService = ctx.loginThrottleService;
33
+ this.userAuthenticatorService = ctx.userAuthenticatorService;
34
+ this.mfaLoginService = ctx.mfaLoginService;
35
+ this.logger = ctx.logger;
36
+ this.certificateSource = ctx.certificateSource ?? "disabled";
23
37
  }
24
38
  async runWithRequest(event) {
25
39
  const body = await readRequestBody(event);
@@ -28,16 +42,115 @@ var HTTPPasswordGrant = class extends PasswordGrantType {
28
42
  if (!username || !password) throw OAuth2RequestError.malformed("username and password must be provided.");
29
43
  const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
30
44
  const realm = await this.realmRepository.resolve(readRealmHint(body), true);
31
- const client = clientId ? await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id) : void 0;
45
+ const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);
46
+ const client = clientId ? await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id, certificateEvidence) : void 0;
47
+ const confirmation = client ? this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence) : void 0;
32
48
  if (client) assertClientGrantAllowed(client, OAuth2TokenGrant.PASSWORD);
33
- const user = await this.authenticator.authenticate(username, password, realm.id);
49
+ const ipAddress = getRequestIP(event, { trustProxy: true }) ?? void 0;
50
+ const userAgent = getRequestHeader(event, "user-agent") ?? void 0;
51
+ const identifier = username.trim().toLowerCase();
52
+ await this.loginThrottleService?.assertNotThrottled({
53
+ identifier,
54
+ ipAddress,
55
+ realmId: realm.id
56
+ });
57
+ let user;
58
+ try {
59
+ user = await this.authenticator.authenticate(username, password, realm.id);
60
+ } catch (e) {
61
+ if (isEntityCredentialsInvalidError(e) || isEntityInactiveError(e)) {
62
+ await this.eventService?.record({
63
+ scope: EventScope.OAUTH2,
64
+ name: EventName.LOGIN_FAILED,
65
+ actorType: null,
66
+ actorId: null,
67
+ actorName: identifier,
68
+ clientId: client?.id ?? null,
69
+ realmId: realm.id,
70
+ requestIpAddress: ipAddress ?? null,
71
+ requestUserAgent: userAgent ?? null,
72
+ requestPath: event.path,
73
+ requestMethod: event.method,
74
+ data: { errorCode: e.code }
75
+ });
76
+ this.metrics?.recordLogin("failure");
77
+ }
78
+ throw e;
79
+ }
80
+ const mfaVerifiedAt = await this.verifySecondFactor(user, body, {
81
+ ipAddress,
82
+ userAgent,
83
+ clientId: client?.id ?? null,
84
+ confirmation
85
+ });
34
86
  return this.runWith({
35
87
  user,
36
- client
88
+ client,
89
+ mfaVerifiedAt
90
+ }, {
91
+ confirmation,
92
+ ipAddress,
93
+ userAgent
94
+ });
95
+ }
96
+ /**
97
+ * MFA gate on the direct password grant: a user holding a confirmed
98
+ * device must send a valid `otp` form parameter (TOTP or recovery
99
+ * code, classified by shape) — otherwise `mfa_required`. Users
100
+ * without a device pass through (they could never enroll otherwise).
101
+ */ async verifySecondFactor(user, body, ctx) {
102
+ if (!this.userAuthenticatorService) return;
103
+ const status = await this.userAuthenticatorService.challenge(user.id, { issueMaterial: false });
104
+ if (!status.required) return;
105
+ const otp = readStringField(body, "otp");
106
+ if (!otp) {
107
+ const ticket = await this.issueMfaTicket(user, status.kinds, ctx);
108
+ throw new OAuth2MfaRequiredError({
109
+ message: "Complete a second-factor challenge to continue.",
110
+ data: {
111
+ kinds: status.kinds,
112
+ ...ticket ? {
113
+ mfa_token: ticket.token,
114
+ mfa_token_expires_in: ticket.expiresIn
115
+ } : {}
116
+ }
117
+ });
118
+ }
119
+ if (!await this.userAuthenticatorService.verify(user.id, {
120
+ kind: guessUserAuthenticatorKindByResponse(otp),
121
+ response: otp
37
122
  }, {
38
- ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
39
- userAgent: getRequestHeader(event, "user-agent") ?? void 0
123
+ ipAddress: ctx.ipAddress ?? null,
124
+ userAgent: ctx.userAgent ?? null,
125
+ clientId: ctx.clientId
126
+ })) throw new OAuth2MfaRequiredError({
127
+ message: "The provided second factor is not valid.",
128
+ data: { kinds: status.kinds }
40
129
  });
130
+ return (/* @__PURE__ */ new Date()).toISOString();
131
+ }
132
+ /**
133
+ * Issue the MFA-pending ticket for factor kinds that cannot complete
134
+ * inside the single grant POST (email needs a server-sent code,
135
+ * WebAuthn an interactive ceremony). TOTP/recovery-only users keep
136
+ * the inline `otp` fast-path and get no ticket — a pending session
137
+ * per plain code entry would be pure churn.
138
+ */ async issueMfaTicket(user, kinds, ctx) {
139
+ if (!this.mfaLoginService) return null;
140
+ if (!(kinds.includes(UserAuthenticatorKind.EMAIL) || kinds.includes(UserAuthenticatorKind.WEBAUTHN))) return null;
141
+ try {
142
+ return await this.mfaLoginService.issueTicket({
143
+ user,
144
+ clientId: ctx.clientId,
145
+ confirmation: ctx.confirmation
146
+ }, {
147
+ ipAddress: ctx.ipAddress,
148
+ userAgent: ctx.userAgent
149
+ });
150
+ } catch (e) {
151
+ this.logger?.warn("Issuing the MFA-pending login ticket failed.", { error: e });
152
+ return null;
153
+ }
41
154
  }
42
155
  };
43
156
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"password.mjs","names":["OAuth2RequestError","OAuth2TokenGrant","readRequestBody","getRequestHeader","getRequestIP","PasswordGrantType","assertClientGrantAllowed","extractClientCredentialsFromRequest","readRealmHint","readStringField","HTTPPasswordGrant","authenticator","clientAuthenticator","realmRepository","ctx","runWithRequest","event","body","username","password","malformed","clientId","clientSecret","realm","resolve","client","authenticate","id","undefined","PASSWORD","user","runWith","ipAddress","trustProxy","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { ICredentialsAuthenticator, IRealmRepository, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';\nimport { PasswordGrantType, assertClientGrantAllowed } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2PasswordGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest, readRealmHint, readStringField } from './utils/index.ts';\n\nexport class HTTPPasswordGrant extends PasswordGrantType implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<User>;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected realmRepository : IRealmRepository;\n\n constructor(ctx: HTTPOAuth2PasswordGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.realmRepository = ctx.realmRepository;\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n\n const username = readStringField(body, 'username');\n const password = readStringField(body, 'password');\n if (!username || !password) {\n throw OAuth2RequestError.malformed('username and password must be provided.');\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n\n const realm = await this.realmRepository.resolve(readRealmHint(body), true);\n\n const client = clientId ?\n await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n realm.id,\n ) :\n undefined;\n\n if (client) {\n assertClientGrantAllowed(client, OAuth2TokenGrant.PASSWORD);\n }\n\n const user = await this.authenticator.authenticate(username, password, realm.id);\n\n return this.runWith(\n { user, client },\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAaU,oBAAb,cAAuCL,kBAAAA;CACzBM;CAEAC;CAEAC;CAEV,YAAYC,KAAqC;EAC7C,MAAMA,GAAAA;EAEN,KAAKH,gBAAgBG,IAAIH;EACzB,KAAKC,sBAAsBE,IAAIF;EAC/B,KAAKC,kBAAkBC,IAAID;CAC/B;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAMC,OAAO,MAAMf,gBAAgBc,KAAAA;EAEnC,MAAME,WAAWT,gBAAgBQ,MAAM,UAAA;EACvC,MAAME,WAAWV,gBAAgBQ,MAAM,UAAA;EACvC,IAAI,CAACC,YAAY,CAACC,UACd,MAAMnB,mBAAmBoB,UAAU,yCAAA;EAGvC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMf,oCAAoCS,KAAAA;EAE7E,MAAMO,QAAQ,MAAM,KAAKV,gBAAgBW,QAAQhB,cAAcS,IAAAA,GAAO,IAAA;EAEtE,MAAMQ,SAASJ,WACX,MAAM,KAAKT,oBAAoBc,aAC3BL,UACAC,cACAC,MAAMI,EAAE,IAEZC,KAAAA;EAEJ,IAAIH,QACAnB,yBAAyBmB,QAAQxB,iBAAiB4B,QAAQ;EAG9D,MAAMC,OAAO,MAAM,KAAKnB,cAAce,aAAaR,UAAUC,UAAUI,MAAMI,EAAE;EAE/E,OAAO,KAAKI,QACR;GAAED;GAAML;EAAO,GACf;GACIO,WAAW5B,aAAaY,OAAO,EAAEiB,YAAY,KAAK,CAAA,KAAML,KAAAA;GACxDM,WAAW/B,iBAAiBa,OAAO,YAAA,KAAiBY,KAAAA;EACxD,CAAA;CAER;AACJ"}
1
+ {"version":3,"file":"password.mjs","names":["EventName","EventScope","UserAuthenticatorKind","isEntityCredentialsInvalidError","isEntityInactiveError","OAuth2MfaRequiredError","OAuth2RequestError","OAuth2TokenGrant","readRequestBody","getRequestHeader","getRequestIP","PasswordGrantType","assertClientGrantAllowed","guessUserAuthenticatorKindByResponse","extractClientCredentialsFromRequest","extractOAuth2ClientCertificateEvidence","readRealmHint","readStringField","HTTPPasswordGrant","authenticator","clientAuthenticator","realmRepository","loginThrottleService","userAuthenticatorService","mfaLoginService","logger","certificateSource","ctx","runWithRequest","event","body","username","password","malformed","clientId","clientSecret","realm","resolve","certificateEvidence","client","authenticate","id","undefined","confirmation","resolveTokenBinding","PASSWORD","ipAddress","trustProxy","userAgent","identifier","trim","toLowerCase","assertNotThrottled","realmId","user","e","eventService","record","scope","OAUTH2","name","LOGIN_FAILED","actorType","actorId","actorName","requestIpAddress","requestUserAgent","requestPath","path","requestMethod","method","data","errorCode","code","metrics","recordLogin","mfaVerifiedAt","verifySecondFactor","runWith","status","challenge","issueMaterial","required","otp","ticket","issueMfaTicket","kinds","message","mfa_token","token","mfa_token_expires_in","expiresIn","verified","verify","kind","response","Date","toISOString","interactive","includes","EMAIL","WEBAUTHN","issueTicket","warn","error"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport { EventName, EventScope, UserAuthenticatorKind } from '@authup/core-kit';\nimport type { Logger } from '@authup/server-kit';\nimport { isEntityCredentialsInvalidError, isEntityInactiveError } from '@authup/errors';\nimport type { OAuth2TokenConfirmation, OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2MfaRequiredError, OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IAppEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type {\n ICredentialsAuthenticator,\n ILoginThrottleService,\n IOAuth2MfaLoginService,\n IRealmRepository,\n IUserAuthenticatorService,\n OAuth2ClientAuthenticator,\n} from '../../../../../core/index.ts';\nimport {\n PasswordGrantType,\n assertClientGrantAllowed,\n guessUserAuthenticatorKindByResponse,\n} from '../../../../../core/index.ts';\nimport type { HTTPOAuth2PasswordGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport type { CertificateSource } from '../../../request/index.ts';\nimport {\n extractClientCredentialsFromRequest,\n extractOAuth2ClientCertificateEvidence,\n readRealmHint,\n readStringField,\n} from './utils/index.ts';\n\nexport class HTTPPasswordGrant extends PasswordGrantType implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<User>;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected realmRepository : IRealmRepository;\n\n protected loginThrottleService? : ILoginThrottleService;\n\n protected userAuthenticatorService? : IUserAuthenticatorService;\n\n protected mfaLoginService? : IOAuth2MfaLoginService;\n\n protected logger? : Logger;\n\n protected certificateSource: CertificateSource;\n\n constructor(ctx: HTTPOAuth2PasswordGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.realmRepository = ctx.realmRepository;\n this.loginThrottleService = ctx.loginThrottleService;\n this.userAuthenticatorService = ctx.userAuthenticatorService;\n this.mfaLoginService = ctx.mfaLoginService;\n this.logger = ctx.logger;\n this.certificateSource = ctx.certificateSource ?? 'disabled';\n }\n\n async runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n\n const username = readStringField(body, 'username');\n const password = readStringField(body, 'password');\n if (!username || !password) {\n throw OAuth2RequestError.malformed('username and password must be provided.');\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n\n const realm = await this.realmRepository.resolve(readRealmHint(body), true);\n const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);\n\n const client = clientId ?\n await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n realm.id,\n certificateEvidence,\n ) :\n undefined;\n\n const confirmation = client ?\n this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence) :\n undefined;\n\n if (client) {\n assertClientGrantAllowed(client, OAuth2TokenGrant.PASSWORD);\n }\n\n const ipAddress = getRequestIP(event, { trustProxy: true }) ?? undefined;\n const userAgent = getRequestHeader(event, 'user-agent') ?? undefined;\n\n // canonical identifier form (layer 3) — the throttle key and the\n // loginFailed actorName must match what canonically stored rows carry.\n const identifier = username.trim().toLowerCase();\n\n await this.loginThrottleService?.assertNotThrottled({\n identifier,\n ipAddress,\n realmId: realm.id,\n });\n\n let user : User;\n try {\n user = await this.authenticator.authenticate(username, password, realm.id);\n } catch (e) {\n if (isEntityCredentialsInvalidError(e) || isEntityInactiveError(e)) {\n await this.eventService?.record({\n scope: EventScope.OAUTH2,\n name: EventName.LOGIN_FAILED,\n actorType: null,\n actorId: null,\n actorName: identifier,\n clientId: client?.id ?? null,\n realmId: realm.id,\n requestIpAddress: ipAddress ?? null,\n requestUserAgent: userAgent ?? null,\n requestPath: event.path,\n requestMethod: event.method,\n data: { errorCode: e.code },\n });\n this.metrics?.recordLogin('failure');\n }\n\n throw e;\n }\n\n const mfaVerifiedAt = await this.verifySecondFactor(user, body, {\n ipAddress,\n userAgent,\n clientId: client?.id ?? null,\n confirmation,\n });\n\n return this.runWith(\n {\n user, \n client, \n mfaVerifiedAt, \n },\n {\n confirmation,\n ipAddress,\n userAgent,\n },\n );\n }\n\n /**\n * MFA gate on the direct password grant: a user holding a confirmed\n * device must send a valid `otp` form parameter (TOTP or recovery\n * code, classified by shape) — otherwise `mfa_required`. Users\n * without a device pass through (they could never enroll otherwise).\n */\n protected async verifySecondFactor(\n user: User,\n body: Record<string, any>,\n ctx: {\n ipAddress?: string, \n userAgent?: string, \n clientId: string | null,\n confirmation?: OAuth2TokenConfirmation,\n },\n ): Promise<string | undefined> {\n if (!this.userAuthenticatorService) {\n return undefined;\n }\n\n // requirement flags + kinds only — no webauthn material on the token path.\n const status = await this.userAuthenticatorService.challenge(user.id, { issueMaterial: false });\n if (!status.required) {\n return undefined;\n }\n\n const otp = readStringField(body, 'otp');\n if (!otp) {\n // carry the challengeable kinds so a client (the hosted login form)\n // can tell whether a single-POST factor (totp/recovery) is on offer\n // or the user must complete an interactive challenge (email/webauthn).\n // For the interactive kinds an \"MFA-pending\" ticket (issue #3242)\n // rides along: a restricted mfa_token-kind bearer accepted ONLY by\n // the challenge routes, backed by a short-lived pending session\n // (mfa_at: null) — never a usable access/refresh pair.\n const ticket = await this.issueMfaTicket(user, status.kinds, ctx);\n\n throw new OAuth2MfaRequiredError({\n message: 'Complete a second-factor challenge to continue.',\n data: {\n kinds: status.kinds,\n ...(ticket ? {\n mfa_token: ticket.token,\n mfa_token_expires_in: ticket.expiresIn,\n } : {}),\n },\n });\n }\n\n const verified = await this.userAuthenticatorService.verify(\n user.id,\n {\n kind: guessUserAuthenticatorKindByResponse(otp),\n response: otp,\n },\n {\n ipAddress: ctx.ipAddress ?? null,\n userAgent: ctx.userAgent ?? null,\n clientId: ctx.clientId,\n },\n );\n if (!verified) {\n throw new OAuth2MfaRequiredError({\n message: 'The provided second factor is not valid.',\n data: { kinds: status.kinds },\n });\n }\n\n return new Date().toISOString();\n }\n\n /**\n * Issue the MFA-pending ticket for factor kinds that cannot complete\n * inside the single grant POST (email needs a server-sent code,\n * WebAuthn an interactive ceremony). TOTP/recovery-only users keep\n * the inline `otp` fast-path and get no ticket — a pending session\n * per plain code entry would be pure churn.\n */\n protected async issueMfaTicket(\n user: User,\n kinds: `${UserAuthenticatorKind}`[],\n ctx: {\n ipAddress?: string,\n userAgent?: string,\n clientId: string | null,\n confirmation?: OAuth2TokenConfirmation,\n },\n ) : Promise<{ token: string, expiresIn: number } | null> {\n if (!this.mfaLoginService) {\n return null;\n }\n\n const interactive = kinds.includes(UserAuthenticatorKind.EMAIL) ||\n kinds.includes(UserAuthenticatorKind.WEBAUTHN);\n if (!interactive) {\n return null;\n }\n\n try {\n return await this.mfaLoginService.issueTicket(\n {\n user,\n clientId: ctx.clientId,\n confirmation: ctx.confirmation,\n },\n {\n ipAddress: ctx.ipAddress,\n userAgent: ctx.userAgent,\n },\n );\n } catch (e) {\n // degrade to a ticket-less mfa_required rather than letting a\n // transient issuance failure (pending-session write, cache,\n // signer) escape as a raw 500 from a controlled response path —\n // an otp-capable device can still complete, and the credential\n // retry re-attempts the ticket.\n this.logger?.warn('Issuing the MFA-pending login ticket failed.', { error: e });\n\n return null;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAsCA,IAAakB,oBAAb,cAAuCP,kBAAAA;CACzBQ;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAAqC;EAC7C,MAAMA,GAAAA;EAEN,KAAKR,gBAAgBQ,IAAIR;EACzB,KAAKC,sBAAsBO,IAAIP;EAC/B,KAAKC,kBAAkBM,IAAIN;EAC3B,KAAKC,uBAAuBK,IAAIL;EAChC,KAAKC,2BAA2BI,IAAIJ;EACpC,KAAKC,kBAAkBG,IAAIH;EAC3B,KAAKC,SAASE,IAAIF;EAClB,KAAKC,oBAAoBC,IAAID,qBAAqB;CACtD;CAEA,MAAME,eAAeC,OAAqD;EACtE,MAAMC,OAAO,MAAMtB,gBAAgBqB,KAAAA;EAEnC,MAAME,WAAWd,gBAAgBa,MAAM,UAAA;EACvC,MAAME,WAAWf,gBAAgBa,MAAM,UAAA;EACvC,IAAI,CAACC,YAAY,CAACC,UACd,MAAM1B,mBAAmB2B,UAAU,yCAAA;EAGvC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMrB,oCAAoCe,KAAAA;EAE7E,MAAMO,QAAQ,MAAM,KAAKf,gBAAgBgB,QAAQrB,cAAcc,IAAAA,GAAO,IAAA;EACtE,MAAMQ,sBAAsB,MAAMvB,uCAAuCc,OAAO,KAAKH,iBAAiB;EAEtG,MAAMa,SAASL,WACX,MAAM,KAAKd,oBAAoBoB,aAC3BN,UACAC,cACAC,MAAMK,IACNH,mBAAAA,IAEJI,KAAAA;EAEJ,MAAMC,eAAeJ,SACjB,KAAKnB,oBAAoBwB,oBAAoBL,QAAQD,mBAAAA,IACrDI,KAAAA;EAEJ,IAAIH,QACA3B,yBAAyB2B,QAAQhC,iBAAiBsC,QAAQ;EAG9D,MAAMC,YAAYpC,aAAamB,OAAO,EAAEkB,YAAY,KAAK,CAAA,KAAML,KAAAA;EAC/D,MAAMM,YAAYvC,iBAAiBoB,OAAO,YAAA,KAAiBa,KAAAA;EAI3D,MAAMO,aAAalB,SAASmB,KAAI,CAAA,CAAGC,YAAW;EAE9C,MAAM,KAAK7B,sBAAsB8B,mBAAmB;GAChDH;GACAH;GACAO,SAASjB,MAAMK;EACnB,CAAA;EAEA,IAAIa;EACJ,IAAI;GACAA,OAAO,MAAM,KAAKnC,cAAcqB,aAAaT,UAAUC,UAAUI,MAAMK,EAAE;EAC7E,SAASc,GAAG;GACR,IAAIpD,gCAAgCoD,CAAAA,KAAMnD,sBAAsBmD,CAAAA,GAAI;IAChE,MAAM,KAAKC,cAAcC,OAAO;KAC5BC,OAAOzD,WAAW0D;KAClBC,MAAM5D,UAAU6D;KAChBC,WAAW;KACXC,SAAS;KACTC,WAAWf;KACXf,UAAUK,QAAQE,MAAM;KACxBY,SAASjB,MAAMK;KACfwB,kBAAkBnB,aAAa;KAC/BoB,kBAAkBlB,aAAa;KAC/BmB,aAAatC,MAAMuC;KACnBC,eAAexC,MAAMyC;KACrBC,MAAM,EAAEC,WAAWjB,EAAEkB,KAAK;IAC9B,CAAA;IACA,KAAKC,SAASC,YAAY,SAAA;GAC9B;GAEA,MAAMpB;EACV;EAEA,MAAMqB,gBAAgB,MAAM,KAAKC,mBAAmBvB,MAAMxB,MAAM;GAC5DgB;GACAE;GACAd,UAAUK,QAAQE,MAAM;GACxBE;EACJ,CAAA;EAEA,OAAO,KAAKmC,QACR;GACIxB;GACAf;GACAqC;EACJ,GACA;GACIjC;GACAG;GACAE;EACJ,CAAA;CAER;;;;;;IAQA,MAAgB6B,mBACZvB,MACAxB,MACAH,KAM2B;EAC3B,IAAI,CAAC,KAAKJ,0BACN;EAIJ,MAAMwD,SAAS,MAAM,KAAKxD,yBAAyByD,UAAU1B,KAAKb,IAAI,EAAEwC,eAAe,MAAM,CAAA;EAC7F,IAAI,CAACF,OAAOG,UACR;EAGJ,MAAMC,MAAMlE,gBAAgBa,MAAM,KAAA;EAClC,IAAI,CAACqD,KAAK;GAQN,MAAMC,SAAS,MAAM,KAAKC,eAAe/B,MAAMyB,OAAOO,OAAO3D,GAAAA;GAE7D,MAAM,IAAItB,uBAAuB;IAC7BkF,SAAS;IACThB,MAAM;KACFe,OAAOP,OAAOO;KACd,GAAIF,SAAS;MACTI,WAAWJ,OAAOK;MAClBC,sBAAsBN,OAAOO;KACjC,IAAI,CAAC;IACT;GACJ,CAAA;EACJ;EAcA,IAAI,CAACC,MAZkB,KAAKrE,yBAAyBsE,OACjDvC,KAAKb,IACL;GACIqD,MAAMjF,qCAAqCsE,GAAAA;GAC3CY,UAAUZ;EACd,GACA;GACIrC,WAAWnB,IAAImB,aAAa;GAC5BE,WAAWrB,IAAIqB,aAAa;GAC5Bd,UAAUP,IAAIO;EAClB,CAAA,GAGA,MAAM,IAAI7B,uBAAuB;GAC7BkF,SAAS;GACThB,MAAM,EAAEe,OAAOP,OAAOO,MAAM;EAChC,CAAA;EAGJ,wBAAO,IAAIU,KAAAA,EAAAA,CAAOC,YAAW;CACjC;;;;;;;IASA,MAAgBZ,eACZ/B,MACAgC,OACA3D,KAMqD;EACrD,IAAI,CAAC,KAAKH,iBACN,OAAO;EAKX,IAAI,EAFgB8D,MAAMa,SAASjG,sBAAsBkG,KAAK,KAC1Dd,MAAMa,SAASjG,sBAAsBmG,QAAQ,IAE7C,OAAO;EAGX,IAAI;GACA,OAAO,MAAM,KAAK7E,gBAAgB8E,YAC9B;IACIhD;IACApB,UAAUP,IAAIO;IACdS,cAAchB,IAAIgB;GACtB,GACA;IACIG,WAAWnB,IAAImB;IACfE,WAAWrB,IAAIqB;GACnB,CAAA;EAER,SAASO,GAAG;GAMR,KAAK9B,QAAQ8E,KAAK,gDAAgD,EAAEC,OAAOjD,EAAE,CAAA;GAE7E,OAAO;EACX;CACJ;AACJ"}
@@ -3,10 +3,12 @@ import type { IAppEvent } from 'routup';
3
3
  import { OAuth2RefreshTokenGrant } from '../../../../../core/index.ts';
4
4
  import type { IOAuth2TokenVerifier, IRealmRepository, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';
5
5
  import type { HTTPOAuth2RefreshTokenGrantContext, IHTTPOAuth2Grant } from './types.ts';
6
+ import type { CertificateSource } from '../../../request/index.ts';
6
7
  export declare class HTTPOAuth2RefreshTokenGrant extends OAuth2RefreshTokenGrant implements IHTTPOAuth2Grant {
7
8
  protected clientAuthenticator: OAuth2ClientAuthenticator;
8
9
  protected refreshTokenVerifier: IOAuth2TokenVerifier;
9
10
  protected realmRepository: IRealmRepository;
11
+ protected certificateSource: CertificateSource;
10
12
  constructor(ctx: HTTPOAuth2RefreshTokenGrantContext);
11
13
  runWithRequest(event: IAppEvent): Promise<OAuth2TokenGrantResponse>;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"refresh_token.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/refresh_token.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAA4B,MAAM,8BAA8B,CAAC;AACjG,OAAO,KAAK,EACR,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kCAAkC,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvF,qBAAa,2BAA4B,SAAQ,uBAAwB,YAAW,gBAAgB;IAChG,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;IAE1D,SAAS,CAAC,oBAAoB,EAAG,oBAAoB,CAAC;IAEtD,SAAS,CAAC,eAAe,EAAG,gBAAgB,CAAC;gBAEjC,GAAG,EAAE,kCAAkC;IAQ7C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA2E5E"}
1
+ {"version":3,"file":"refresh_token.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/refresh_token.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAA2B,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAA4B,MAAM,8BAA8B,CAAC;AACjG,OAAO,KAAK,EACR,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kCAAkC,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAOnE,qBAAa,2BAA4B,SAAQ,uBAAwB,YAAW,gBAAgB;IAChG,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC;IAE1D,SAAS,CAAC,oBAAoB,EAAG,oBAAoB,CAAC;IAEtD,SAAS,CAAC,eAAe,EAAG,gBAAgB,CAAC;IAE7C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;gBAEnC,GAAG,EAAE,kCAAkC;IAS7C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAqG5E"}
@@ -4,9 +4,11 @@ import.meta.url;
4
4
  import { assertClientGrantAllowed } from "../../../../../core/oauth2/client/grant-type.mjs";
5
5
  import { OAuth2RefreshTokenGrant } from "../../../../../core/oauth2/grant-types/refresh-token.mjs";
6
6
  import "../../../../../core/index.mjs";
7
+ import { extractOAuth2ClientCertificateEvidence } from "./utils/certificate.mjs";
7
8
  import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
8
9
  import { readRealmHint } from "./utils/realm.mjs";
9
10
  import "./utils/index.mjs";
11
+ import { isClientPublic } from "@authup/core-kit";
10
12
  import { OAuth2GrantError, OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
11
13
  import { getRequestHeader, getRequestIP } from "routup";
12
14
  import { readRequestBody } from "@routup/basic/body";
@@ -15,27 +17,38 @@ var HTTPOAuth2RefreshTokenGrant = class extends OAuth2RefreshTokenGrant {
15
17
  clientAuthenticator;
16
18
  refreshTokenVerifier;
17
19
  realmRepository;
20
+ certificateSource;
18
21
  constructor(ctx) {
19
22
  super(ctx);
20
23
  this.clientAuthenticator = ctx.clientAuthenticator;
21
24
  this.refreshTokenVerifier = ctx.tokenVerifier;
22
25
  this.realmRepository = ctx.realmRepository;
26
+ this.certificateSource = ctx.certificateSource ?? "disabled";
23
27
  }
24
28
  async runWithRequest(event) {
25
29
  const body = await readRequestBody(event);
26
30
  const refreshToken = body?.refresh_token;
27
31
  if (typeof refreshToken !== "string" || refreshToken.length === 0) throw OAuth2RequestError.malformed();
28
32
  const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
33
+ const certificateEvidence = await extractOAuth2ClientCertificateEvidence(event, this.certificateSource);
29
34
  const payload = await this.refreshTokenVerifier.verify(refreshToken, { skipActiveCheck: true });
30
35
  let client;
31
36
  if (clientId) {
32
37
  const realm = await this.realmRepository.resolve(readRealmHint(body), true);
33
- client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id);
38
+ client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realm.id, certificateEvidence);
34
39
  if (payload.client_id && payload.client_id !== client.id) throw OAuth2GrantError.invalid();
35
- } else if (payload.client_id) client = await this.clientAuthenticator.authenticate(payload.client_id);
40
+ } else if (payload.client_id) client = await this.clientAuthenticator.authenticate(payload.client_id, void 0, void 0, certificateEvidence);
36
41
  if (client) assertClientGrantAllowed(client, OAuth2TokenGrant.REFRESH_TOKEN);
37
- if (client && !client.is_confidential && payload.realm_id && payload.realm_id !== client.realm_id) throw OAuth2GrantError.invalid();
42
+ let confirmation;
43
+ if (payload.cnf) {
44
+ const expectedThumbprint = payload.cnf["x5t#S256"];
45
+ if (typeof expectedThumbprint !== "string" || expectedThumbprint.length === 0) throw OAuth2GrantError.invalid();
46
+ confirmation = this.clientAuthenticator.validateCertificateEvidenceForBinding(certificateEvidence);
47
+ if (confirmation["x5t#S256"] !== expectedThumbprint) throw OAuth2GrantError.invalid();
48
+ } else if (client) confirmation = this.clientAuthenticator.resolveTokenBinding(client, certificateEvidence);
49
+ if (client && isClientPublic(client) && payload.realm_id && payload.realm_id !== client.realmId) throw OAuth2GrantError.invalid();
38
50
  return this.runWith(payload, {
51
+ confirmation,
39
52
  ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
40
53
  userAgent: getRequestHeader(event, "user-agent") ?? void 0
41
54
  });