@authup/server-core 1.0.0-beta.53 → 1.0.0-beta.55

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 (1255) 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 +0 -13
  3. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.d.ts +16 -16
  5. package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
  6. package/dist/adapters/database/domains/client/entity.mjs +54 -36
  7. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client/subscriber.mjs +3 -3
  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 +4 -4
  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 +31 -19
  19. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/client-role/subscriber.mjs +4 -4
  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 +31 -19
  25. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  26. package/dist/adapters/database/domains/client-scope/subscriber.mjs +2 -2
  27. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  28. package/dist/adapters/database/domains/consent/entity.d.ts +7 -7
  29. package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
  30. package/dist/adapters/database/domains/consent/entity.mjs +35 -20
  31. package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
  32. package/dist/adapters/database/domains/consent/subscriber.mjs +4 -4
  33. package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
  34. package/dist/adapters/database/domains/constants.d.ts +0 -3
  35. package/dist/adapters/database/domains/constants.d.ts.map +1 -1
  36. package/dist/adapters/database/domains/constants.mjs +0 -3
  37. package/dist/adapters/database/domains/constants.mjs.map +1 -1
  38. package/dist/adapters/database/domains/event/entity.d.ts +13 -13
  39. package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
  40. package/dist/adapters/database/domains/event/entity.mjs +45 -30
  41. package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
  42. package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
  43. package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
  44. package/dist/adapters/database/domains/identity-provider/entity.mjs +19 -12
  45. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  46. package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
  47. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  48. package/dist/adapters/database/domains/identity-provider/subscriber.mjs +3 -3
  49. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
  51. package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
  52. package/dist/adapters/database/domains/identity-provider-account/entity.mjs +52 -33
  53. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  54. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +2 -2
  55. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  56. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
  57. package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
  58. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +20 -11
  59. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  60. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
  61. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  62. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
  63. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
  64. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +31 -21
  65. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  66. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
  67. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
  68. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +34 -23
  69. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  70. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
  71. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
  72. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +34 -23
  73. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  74. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +3 -3
  75. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  76. package/dist/adapters/database/domains/index.d.ts +0 -3
  77. package/dist/adapters/database/domains/index.d.ts.map +1 -1
  78. package/dist/adapters/database/domains/index.mjs +1 -10
  79. package/dist/adapters/database/domains/key/entity.d.ts +6 -6
  80. package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
  81. package/dist/adapters/database/domains/key/entity.mjs +26 -16
  82. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  83. package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
  84. package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
  85. package/dist/adapters/database/domains/permission/entity.mjs +35 -20
  86. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  87. package/dist/adapters/database/domains/permission/subscriber.mjs +4 -4
  88. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  89. package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
  90. package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
  91. package/dist/adapters/database/domains/permission-policy/entity.mjs +31 -19
  92. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  93. package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
  94. package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
  95. package/dist/adapters/database/domains/policy/entity.mjs +30 -16
  96. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  97. package/dist/adapters/database/domains/policy/repository.mjs +3 -3
  98. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  99. package/dist/adapters/database/domains/policy/subscriber.mjs +2 -2
  100. package/dist/adapters/database/domains/policy/subscriber.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 +20 -11
  104. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  105. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +4 -4
  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 +18 -10
  110. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  111. package/dist/adapters/database/domains/realm/subscriber.mjs +2 -2
  112. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  113. package/dist/adapters/database/domains/role/entity.d.ts +6 -6
  114. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  115. package/dist/adapters/database/domains/role/entity.mjs +32 -18
  116. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  117. package/dist/adapters/database/domains/role/repository.mjs +3 -3
  118. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  119. package/dist/adapters/database/domains/role/subscriber.mjs +3 -3
  120. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  121. package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
  122. package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
  123. package/dist/adapters/database/domains/role-attribute/entity.mjs +20 -11
  124. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  125. package/dist/adapters/database/domains/role-attribute/subscriber.mjs +4 -4
  126. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  127. package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
  128. package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
  129. package/dist/adapters/database/domains/role-permission/entity.mjs +39 -23
  130. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  131. package/dist/adapters/database/domains/role-permission/subscriber.mjs +4 -4
  132. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  133. package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
  134. package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
  135. package/dist/adapters/database/domains/scope/entity.mjs +25 -14
  136. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  137. package/dist/adapters/database/domains/scope/subscriber.mjs +3 -3
  138. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  139. package/dist/adapters/database/domains/session/entity.d.ts +14 -17
  140. package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
  141. package/dist/adapters/database/domains/session/entity.mjs +44 -44
  142. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  143. package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
  144. package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
  145. package/dist/adapters/database/domains/session-token/entity.mjs +34 -21
  146. package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
  147. package/dist/adapters/database/domains/trust-anchor/entity.d.ts +3 -3
  148. package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
  149. package/dist/adapters/database/domains/trust-anchor/entity.mjs +16 -10
  150. package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
  151. package/dist/adapters/database/domains/user/entity.d.ts +12 -12
  152. package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
  153. package/dist/adapters/database/domains/user/entity.mjs +44 -29
  154. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  155. package/dist/adapters/database/domains/user/repository.mjs +3 -3
  156. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  157. package/dist/adapters/database/domains/user/subscriber.mjs +3 -3
  158. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  159. package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
  160. package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
  161. package/dist/adapters/database/domains/user-attribute/entity.mjs +17 -11
  162. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  163. package/dist/adapters/database/domains/user-attribute/subscriber.mjs +4 -4
  164. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  165. package/dist/adapters/database/domains/user-authenticator/entity.d.ts +5 -5
  166. package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
  167. package/dist/adapters/database/domains/user-authenticator/entity.mjs +26 -13
  168. package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
  169. package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
  170. package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
  171. package/dist/adapters/database/domains/user-permission/entity.mjs +39 -23
  172. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  173. package/dist/adapters/database/domains/user-permission/subscriber.mjs +4 -4
  174. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  175. package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
  176. package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
  177. package/dist/adapters/database/domains/user-role/entity.mjs +31 -19
  178. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  179. package/dist/adapters/database/domains/user-role/subscriber.mjs +4 -4
  180. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  181. package/dist/adapters/database/errors/driver.mjs.map +1 -1
  182. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
  183. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  184. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  185. package/dist/adapters/database/helpers/is-supported.mjs +1 -1
  186. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  187. package/dist/adapters/database/index.mjs +1 -7
  188. package/dist/adapters/database/migrations/mysql/1779267068441-Default.mjs.map +1 -1
  189. package/dist/adapters/database/migrations/mysql/1779300000000-Default.mjs.map +1 -1
  190. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
  191. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  192. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
  193. package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  194. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
  195. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
  196. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
  197. package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
  198. package/dist/adapters/database/migrations/postgres/1779267068441-Default.mjs.map +1 -1
  199. package/dist/adapters/database/migrations/postgres/1779300000000-Default.mjs.map +1 -1
  200. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
  201. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
  202. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
  203. package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
  204. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
  205. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
  206. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
  207. package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
  208. package/dist/adapters/database/subscriber/module.mjs.map +1 -1
  209. package/dist/adapters/http/adapters/index.mjs +1 -2
  210. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -2
  211. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  212. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +3 -3
  213. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  214. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
  215. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  216. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
  217. package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
  218. package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +1 -2
  219. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
  220. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  221. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
  222. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  223. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +1 -4
  224. package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
  225. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
  226. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +0 -3
  227. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  228. package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs.map +1 -1
  229. package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
  230. package/dist/adapters/http/controllers/entities/client/module.mjs +2 -2
  231. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  232. package/dist/adapters/http/controllers/entities/client-permission/module.mjs +2 -2
  233. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  234. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
  235. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  236. package/dist/adapters/http/controllers/entities/client-role/module.mjs +2 -2
  237. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  238. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
  239. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  240. package/dist/adapters/http/controllers/entities/client-scope/module.mjs +2 -2
  241. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  242. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
  243. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  244. package/dist/adapters/http/controllers/entities/consent/module.mjs +2 -2
  245. package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -1
  246. package/dist/adapters/http/controllers/entities/event/module.mjs +2 -2
  247. package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -1
  248. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +2 -2
  249. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  250. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  251. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +21 -15
  252. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  253. package/dist/adapters/http/controllers/entities/index.d.ts +0 -3
  254. package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
  255. package/dist/adapters/http/controllers/entities/index.mjs +1 -9
  256. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
  257. package/dist/adapters/http/controllers/entities/key/module.mjs +3 -9
  258. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
  259. package/dist/adapters/http/controllers/entities/permission/module.mjs +2 -2
  260. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  261. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +2 -2
  262. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  263. package/dist/adapters/http/controllers/entities/policy/module.mjs +2 -2
  264. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  265. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
  266. package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
  267. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +3 -3
  268. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  269. package/dist/adapters/http/controllers/entities/realm/module.mjs +2 -2
  270. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  271. package/dist/adapters/http/controllers/entities/role/module.mjs +2 -2
  272. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  273. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +2 -2
  274. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  275. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
  276. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  277. package/dist/adapters/http/controllers/entities/role-permission/module.mjs +2 -2
  278. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  279. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
  280. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  281. package/dist/adapters/http/controllers/entities/scope/module.mjs +2 -2
  282. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  283. package/dist/adapters/http/controllers/entities/session/module.mjs +2 -2
  284. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  285. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
  286. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +3 -9
  287. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
  288. package/dist/adapters/http/controllers/entities/user/module.mjs +2 -2
  289. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  290. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +2 -2
  291. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  292. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
  293. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  294. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +3 -3
  295. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
  296. package/dist/adapters/http/controllers/entities/user-permission/module.mjs +2 -2
  297. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  298. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
  299. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  300. package/dist/adapters/http/controllers/entities/user-role/module.mjs +2 -2
  301. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  302. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
  303. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  304. package/dist/adapters/http/controllers/index.mjs +1 -6
  305. package/dist/adapters/http/controllers/workflows/activate/module.mjs +2 -2
  306. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +2 -2
  307. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +6 -6
  308. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  309. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +10 -10
  310. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  311. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +11 -11
  312. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  313. package/dist/adapters/http/controllers/workflows/logout/module.mjs +2 -2
  314. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
  315. package/dist/adapters/http/controllers/workflows/openid/module.mjs +2 -2
  316. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +2 -2
  317. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +2 -2
  318. package/dist/adapters/http/controllers/workflows/register/module.mjs +2 -2
  319. package/dist/adapters/http/controllers/workflows/status/module.mjs +4 -4
  320. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  321. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  322. package/dist/adapters/http/controllers/workflows/token/module.mjs +4 -10
  323. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  324. package/dist/adapters/http/controllers/workflows/token/types.d.ts +1 -2
  325. package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
  326. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
  327. package/dist/adapters/http/index.mjs +1 -7
  328. package/dist/adapters/http/middleware/built-in/assets.mjs +2 -2
  329. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  330. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -2
  331. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  332. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +1 -15
  333. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  334. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +0 -1
  335. package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
  336. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  337. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  338. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  339. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
  340. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  341. package/dist/adapters/http/request/client-certificate.d.ts +1 -0
  342. package/dist/adapters/http/request/client-certificate.d.ts.map +1 -1
  343. package/dist/adapters/http/request/client-certificate.mjs +1 -0
  344. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  345. package/dist/adapters/http/request/constants.mjs.map +1 -1
  346. package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
  347. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  348. package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
  349. package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
  350. package/dist/adapters/http/request/helpers/identity.mjs +2 -2
  351. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  352. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
  353. package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
  354. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
  355. package/dist/adapters/http/request/helpers/redirect.mjs.map +1 -1
  356. package/dist/adapters/http/request/permission/module.d.ts +3 -2
  357. package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
  358. package/dist/adapters/http/request/permission/module.mjs +3 -0
  359. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  360. package/dist/adapters/http/ui/render.mjs +2 -2
  361. package/dist/adapters/http/ui/render.mjs.map +1 -1
  362. package/dist/adapters/http/ui/serve.d.ts.map +1 -1
  363. package/dist/adapters/http/ui/serve.mjs +4 -1
  364. package/dist/adapters/http/ui/serve.mjs.map +1 -1
  365. package/dist/app/factory.mjs.map +1 -1
  366. package/dist/app/index.mjs +1 -5
  367. package/dist/app/modules/authentication/module.mjs.map +1 -1
  368. package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -1
  369. package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
  370. package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
  371. package/dist/app/modules/authentication/repositories/session.mjs +8 -40
  372. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  373. package/dist/app/modules/cache/module.mjs.map +1 -1
  374. package/dist/app/modules/components/module.mjs.map +1 -1
  375. package/dist/app/modules/config/constants.d.ts +0 -4
  376. package/dist/app/modules/config/constants.d.ts.map +1 -1
  377. package/dist/app/modules/config/constants.mjs +0 -4
  378. package/dist/app/modules/config/constants.mjs.map +1 -1
  379. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  380. package/dist/app/modules/config/normalize.mjs +0 -4
  381. package/dist/app/modules/config/normalize.mjs.map +1 -1
  382. package/dist/app/modules/config/origins.mjs.map +1 -1
  383. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  384. package/dist/app/modules/config/read/env.mjs +0 -8
  385. package/dist/app/modules/config/read/env.mjs.map +1 -1
  386. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  387. package/dist/app/modules/config/types.d.ts +0 -19
  388. package/dist/app/modules/config/types.d.ts.map +1 -1
  389. package/dist/app/modules/config/validator.d.ts.map +1 -1
  390. package/dist/app/modules/config/validator.mjs +0 -4
  391. package/dist/app/modules/config/validator.mjs.map +1 -1
  392. package/dist/app/modules/database/index.mjs +1 -4
  393. package/dist/app/modules/database/module.d.ts.map +1 -1
  394. package/dist/app/modules/database/module.mjs +2 -0
  395. package/dist/app/modules/database/module.mjs.map +1 -1
  396. package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
  397. package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
  398. package/dist/app/modules/database/repositories/bindings.mjs +3 -3
  399. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  400. package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
  401. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  402. package/dist/app/modules/database/repositories/client/repository.mjs +10 -82
  403. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  404. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
  405. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  406. package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
  407. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  408. package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
  409. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  410. package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
  411. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  412. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
  413. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  414. package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
  415. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  416. package/dist/app/modules/database/repositories/event/repository.d.ts +2 -1
  417. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  418. package/dist/app/modules/database/repositories/event/repository.mjs +14 -53
  419. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  420. package/dist/app/modules/database/repositories/helpers.d.ts +17 -3
  421. package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
  422. package/dist/app/modules/database/repositories/helpers.mjs +40 -5
  423. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  424. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  425. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  426. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
  427. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  428. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  429. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  430. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
  431. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  432. package/dist/app/modules/database/repositories/index.d.ts +0 -3
  433. package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
  434. package/dist/app/modules/database/repositories/index.mjs +1 -7
  435. package/dist/app/modules/database/repositories/key/repository.d.ts +3 -2
  436. package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
  437. package/dist/app/modules/database/repositories/key/repository.mjs +38 -72
  438. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  439. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  440. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  441. package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
  442. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  443. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  444. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  445. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
  446. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  447. package/dist/app/modules/database/repositories/permission-provider/module.mjs +6 -6
  448. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  449. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  450. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  451. package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
  452. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  453. package/dist/app/modules/database/repositories/query.d.ts +18 -0
  454. package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
  455. package/dist/app/modules/database/repositories/query.mjs +29 -0
  456. package/dist/app/modules/database/repositories/query.mjs.map +1 -0
  457. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  458. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  459. package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
  460. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  461. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  462. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  463. package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
  464. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  465. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  466. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  467. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
  468. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  469. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  470. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  471. package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
  472. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  473. package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
  474. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
  475. package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
  476. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
  477. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  478. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  479. package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
  480. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  481. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +2 -1
  482. package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -1
  483. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +5 -29
  484. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
  485. package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
  486. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  487. package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
  488. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  489. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  490. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  491. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
  492. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  493. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +2 -1
  494. package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -1
  495. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +8 -34
  496. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
  497. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  498. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  499. package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
  500. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  501. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  502. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  503. package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
  504. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  505. package/dist/app/modules/http/module.mjs.map +1 -1
  506. package/dist/app/modules/http/modules/controller.d.ts +1 -4
  507. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  508. package/dist/app/modules/http/modules/controller.mjs +0 -52
  509. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  510. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  511. package/dist/app/modules/http/modules/middleware.mjs +0 -1
  512. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  513. package/dist/app/modules/identity/index.mjs +1 -2
  514. package/dist/app/modules/identity/module.d.ts.map +1 -1
  515. package/dist/app/modules/identity/module.mjs +1 -12
  516. package/dist/app/modules/identity/module.mjs.map +1 -1
  517. package/dist/app/modules/identity/repositories/client.mjs +2 -2
  518. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  519. package/dist/app/modules/identity/repositories/index.d.ts +0 -1
  520. package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
  521. package/dist/app/modules/identity/repositories/index.mjs +1 -2
  522. package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
  523. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  524. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
  525. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  526. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
  527. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  528. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
  529. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  530. package/dist/app/modules/identity/repositories/user.mjs +18 -18
  531. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  532. package/dist/app/modules/index.mjs +1 -5
  533. package/dist/app/modules/logger/module.mjs.map +1 -1
  534. package/dist/app/modules/mail/module.mjs.map +1 -1
  535. package/dist/app/modules/metrics/prom.mjs.map +1 -1
  536. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  537. package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
  538. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  539. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +2 -1
  540. package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
  541. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +14 -38
  542. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  543. package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -1
  544. package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
  545. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  546. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
  547. package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
  548. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  549. package/dist/app/modules/provisioning/module.mjs +9 -24
  550. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  551. package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
  552. package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
  553. package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
  554. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  555. package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
  556. package/dist/app/modules/provisioning/sources/default/module.mjs +43 -78
  557. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  558. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  559. package/dist/app/modules/provisioning/sources/file/module.mjs +4 -3
  560. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  561. package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
  562. package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
  563. package/dist/app/modules/provisioning/sources/index.mjs +1 -0
  564. package/dist/app/modules/runtime/module.mjs.map +1 -1
  565. package/dist/cli/commands/migration.mjs.map +1 -1
  566. package/dist/components/database/unique-entries/module.mjs +6 -6
  567. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  568. package/dist/components/oauth2-cleaner/module.mjs +2 -2
  569. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  570. package/dist/core/authentication/credential/entities/client/module.d.ts +1 -1
  571. package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
  572. package/dist/core/authentication/credential/entities/client/module.mjs +3 -3
  573. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  574. package/dist/core/authentication/credential/entities/index.d.ts +0 -1
  575. package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
  576. package/dist/core/authentication/credential/entities/index.mjs +1 -3
  577. package/dist/core/authentication/credential/index.mjs +1 -2
  578. package/dist/core/authentication/entities/client/module.mjs +1 -1
  579. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  580. package/dist/core/authentication/entities/index.d.ts +0 -1
  581. package/dist/core/authentication/entities/index.d.ts.map +1 -1
  582. package/dist/core/authentication/entities/index.mjs +1 -3
  583. package/dist/core/authentication/index.mjs +1 -3
  584. package/dist/core/authentication/session/module.d.ts.map +1 -1
  585. package/dist/core/authentication/session/module.mjs +14 -17
  586. package/dist/core/authentication/session/module.mjs.map +1 -1
  587. package/dist/core/authentication/session/types.d.ts +7 -6
  588. package/dist/core/authentication/session/types.d.ts.map +1 -1
  589. package/dist/core/authentication/session/types.mjs +4 -5
  590. package/dist/core/authentication/session/types.mjs.map +1 -1
  591. package/dist/core/client-certificate/module.d.ts +2 -1
  592. package/dist/core/client-certificate/module.d.ts.map +1 -1
  593. package/dist/core/client-certificate/module.mjs +2 -1
  594. package/dist/core/client-certificate/module.mjs.map +1 -1
  595. package/dist/core/client-certificate/reflect.d.ts +2 -0
  596. package/dist/core/client-certificate/reflect.d.ts.map +1 -0
  597. package/dist/core/{identity/entities/robot/index.mjs → client-certificate/reflect.mjs} +1 -0
  598. package/dist/core/client-certificate/types.d.ts +1 -1
  599. package/dist/core/client-certificate/types.d.ts.map +1 -1
  600. package/dist/core/entities/client/index.d.ts +1 -0
  601. package/dist/core/entities/client/index.d.ts.map +1 -1
  602. package/dist/core/entities/client/index.mjs +2 -1
  603. package/dist/core/entities/client/schema.d.ts +3 -0
  604. package/dist/core/entities/client/schema.d.ts.map +1 -0
  605. package/dist/core/entities/client/schema.mjs +59 -0
  606. package/dist/core/entities/client/schema.mjs.map +1 -0
  607. package/dist/core/entities/client/service.d.ts.map +1 -1
  608. package/dist/core/entities/client/service.mjs +42 -19
  609. package/dist/core/entities/client/service.mjs.map +1 -1
  610. package/dist/core/entities/client/types.d.ts +2 -1
  611. package/dist/core/entities/client/types.d.ts.map +1 -1
  612. package/dist/core/entities/client/web-client.d.ts +4 -4
  613. package/dist/core/entities/client/web-client.mjs +13 -13
  614. package/dist/core/entities/client/web-client.mjs.map +1 -1
  615. package/dist/core/entities/client-permission/index.d.ts +1 -0
  616. package/dist/core/entities/client-permission/index.d.ts.map +1 -1
  617. package/dist/core/entities/client-permission/index.mjs +2 -1
  618. package/dist/core/entities/client-permission/schema.d.ts +3 -0
  619. package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
  620. package/dist/core/entities/client-permission/schema.mjs +41 -0
  621. package/dist/core/entities/client-permission/schema.mjs.map +1 -0
  622. package/dist/core/entities/client-permission/service.d.ts +1 -1
  623. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  624. package/dist/core/entities/client-permission/service.mjs +24 -18
  625. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  626. package/dist/core/entities/client-role/index.d.ts +1 -0
  627. package/dist/core/entities/client-role/index.d.ts.map +1 -1
  628. package/dist/core/entities/client-role/index.mjs +2 -1
  629. package/dist/core/entities/client-role/schema.d.ts +3 -0
  630. package/dist/core/entities/client-role/schema.d.ts.map +1 -0
  631. package/dist/core/entities/client-role/schema.mjs +39 -0
  632. package/dist/core/entities/client-role/schema.mjs.map +1 -0
  633. package/dist/core/entities/client-role/service.d.ts +1 -1
  634. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  635. package/dist/core/entities/client-role/service.mjs +14 -8
  636. package/dist/core/entities/client-role/service.mjs.map +1 -1
  637. package/dist/core/entities/client-scope/index.d.ts +1 -0
  638. package/dist/core/entities/client-scope/index.d.ts.map +1 -1
  639. package/dist/core/entities/client-scope/index.mjs +2 -1
  640. package/dist/core/entities/client-scope/schema.d.ts +3 -0
  641. package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
  642. package/dist/core/entities/client-scope/schema.mjs +37 -0
  643. package/dist/core/entities/client-scope/schema.mjs.map +1 -0
  644. package/dist/core/entities/client-scope/service.d.ts +1 -1
  645. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  646. package/dist/core/entities/client-scope/service.mjs +12 -6
  647. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  648. package/dist/core/entities/consent/index.d.ts +1 -0
  649. package/dist/core/entities/consent/index.d.ts.map +1 -1
  650. package/dist/core/entities/consent/index.mjs +2 -1
  651. package/dist/core/entities/consent/schema.d.ts +3 -0
  652. package/dist/core/entities/consent/schema.d.ts.map +1 -0
  653. package/dist/core/entities/consent/schema.mjs +40 -0
  654. package/dist/core/entities/consent/schema.mjs.map +1 -0
  655. package/dist/core/entities/consent/service.d.ts.map +1 -1
  656. package/dist/core/entities/consent/service.mjs +22 -6
  657. package/dist/core/entities/consent/service.mjs.map +1 -1
  658. package/dist/core/entities/consent/types.d.ts +3 -2
  659. package/dist/core/entities/consent/types.d.ts.map +1 -1
  660. package/dist/core/entities/consent/types.mjs +3 -3
  661. package/dist/core/entities/consent/types.mjs.map +1 -1
  662. package/dist/core/entities/event/diff.d.ts +4 -4
  663. package/dist/core/entities/event/diff.mjs +5 -5
  664. package/dist/core/entities/event/diff.mjs.map +1 -1
  665. package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
  666. package/dist/core/entities/event/entity-event-handler.mjs +29 -31
  667. package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
  668. package/dist/core/entities/event/index.d.ts +1 -0
  669. package/dist/core/entities/event/index.d.ts.map +1 -1
  670. package/dist/core/entities/event/index.mjs +2 -1
  671. package/dist/core/entities/event/sanitize.mjs +8 -8
  672. package/dist/core/entities/event/sanitize.mjs.map +1 -1
  673. package/dist/core/entities/event/schema.d.ts +3 -0
  674. package/dist/core/entities/event/schema.d.ts.map +1 -0
  675. package/dist/core/entities/event/schema.mjs +51 -0
  676. package/dist/core/entities/event/schema.mjs.map +1 -0
  677. package/dist/core/entities/event/service.d.ts.map +1 -1
  678. package/dist/core/entities/event/service.mjs +38 -22
  679. package/dist/core/entities/event/service.mjs.map +1 -1
  680. package/dist/core/entities/event/types.d.ts +6 -5
  681. package/dist/core/entities/event/types.d.ts.map +1 -1
  682. package/dist/core/entities/identity-provider/index.d.ts +1 -0
  683. package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
  684. package/dist/core/entities/identity-provider/index.mjs +2 -1
  685. package/dist/core/entities/identity-provider/schema.d.ts +3 -0
  686. package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
  687. package/dist/core/entities/identity-provider/schema.mjs +43 -0
  688. package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
  689. package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
  690. package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
  691. package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
  692. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
  693. package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
  694. package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
  695. package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
  696. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
  697. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  698. package/dist/core/entities/identity-provider-role-mapping/service.mjs +17 -11
  699. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  700. package/dist/core/entities/index.d.ts +0 -3
  701. package/dist/core/entities/index.d.ts.map +1 -1
  702. package/dist/core/entities/index.mjs +26 -7
  703. package/dist/core/entities/key/index.d.ts +1 -0
  704. package/dist/core/entities/key/index.d.ts.map +1 -1
  705. package/dist/core/entities/key/index.mjs +2 -1
  706. package/dist/core/entities/key/schema.d.ts +3 -0
  707. package/dist/core/entities/key/schema.d.ts.map +1 -0
  708. package/dist/core/entities/key/schema.mjs +53 -0
  709. package/dist/core/entities/key/schema.mjs.map +1 -0
  710. package/dist/core/entities/key/service.d.ts +2 -2
  711. package/dist/core/entities/key/service.d.ts.map +1 -1
  712. package/dist/core/entities/key/service.mjs +47 -28
  713. package/dist/core/entities/key/service.mjs.map +1 -1
  714. package/dist/core/entities/key/types.d.ts +9 -1
  715. package/dist/core/entities/key/types.d.ts.map +1 -1
  716. package/dist/core/entities/permission/index.d.ts +1 -0
  717. package/dist/core/entities/permission/index.d.ts.map +1 -1
  718. package/dist/core/entities/permission/index.mjs +2 -1
  719. package/dist/core/entities/permission/schema.d.ts +3 -0
  720. package/dist/core/entities/permission/schema.d.ts.map +1 -0
  721. package/dist/core/entities/permission/schema.mjs +40 -0
  722. package/dist/core/entities/permission/schema.mjs.map +1 -0
  723. package/dist/core/entities/permission/service.d.ts +7 -2
  724. package/dist/core/entities/permission/service.d.ts.map +1 -1
  725. package/dist/core/entities/permission/service.mjs +53 -40
  726. package/dist/core/entities/permission/service.mjs.map +1 -1
  727. package/dist/core/entities/permission-policy/index.d.ts +1 -0
  728. package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
  729. package/dist/core/entities/permission-policy/index.mjs +2 -1
  730. package/dist/core/entities/permission-policy/schema.d.ts +3 -0
  731. package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
  732. package/dist/core/entities/permission-policy/schema.mjs +39 -0
  733. package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
  734. package/dist/core/entities/permission-policy/service.d.ts +1 -1
  735. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  736. package/dist/core/entities/permission-policy/service.mjs +12 -6
  737. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  738. package/dist/core/entities/policy/index.d.ts +1 -0
  739. package/dist/core/entities/policy/index.d.ts.map +1 -1
  740. package/dist/core/entities/policy/index.mjs +2 -1
  741. package/dist/core/entities/policy/schema.d.ts +3 -0
  742. package/dist/core/entities/policy/schema.d.ts.map +1 -0
  743. package/dist/core/entities/policy/schema.mjs +49 -0
  744. package/dist/core/entities/policy/schema.mjs.map +1 -0
  745. package/dist/core/entities/policy/service.d.ts.map +1 -1
  746. package/dist/core/entities/policy/service.mjs +13 -7
  747. package/dist/core/entities/policy/service.mjs.map +1 -1
  748. package/dist/core/entities/realm/index.d.ts +1 -0
  749. package/dist/core/entities/realm/index.d.ts.map +1 -1
  750. package/dist/core/entities/realm/index.mjs +2 -1
  751. package/dist/core/entities/realm/schema.d.ts +3 -0
  752. package/dist/core/entities/realm/schema.d.ts.map +1 -0
  753. package/dist/core/entities/realm/schema.mjs +36 -0
  754. package/dist/core/entities/realm/schema.mjs.map +1 -0
  755. package/dist/core/entities/realm/service.d.ts.map +1 -1
  756. package/dist/core/entities/realm/service.mjs +5 -2
  757. package/dist/core/entities/realm/service.mjs.map +1 -1
  758. package/dist/core/entities/realm/types.d.ts +1 -1
  759. package/dist/core/entities/role/index.d.ts +1 -0
  760. package/dist/core/entities/role/index.d.ts.map +1 -1
  761. package/dist/core/entities/role/index.mjs +2 -1
  762. package/dist/core/entities/role/schema.d.ts +3 -0
  763. package/dist/core/entities/role/schema.d.ts.map +1 -0
  764. package/dist/core/entities/role/schema.mjs +43 -0
  765. package/dist/core/entities/role/schema.mjs.map +1 -0
  766. package/dist/core/entities/role/service.d.ts.map +1 -1
  767. package/dist/core/entities/role/service.mjs +11 -5
  768. package/dist/core/entities/role/service.mjs.map +1 -1
  769. package/dist/core/entities/role-attribute/index.d.ts +1 -0
  770. package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
  771. package/dist/core/entities/role-attribute/index.mjs +2 -1
  772. package/dist/core/entities/role-attribute/schema.d.ts +3 -0
  773. package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
  774. package/dist/core/entities/role-attribute/schema.mjs +47 -0
  775. package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
  776. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  777. package/dist/core/entities/role-attribute/service.mjs +19 -6
  778. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  779. package/dist/core/entities/role-permission/index.d.ts +1 -0
  780. package/dist/core/entities/role-permission/index.d.ts.map +1 -1
  781. package/dist/core/entities/role-permission/index.mjs +2 -1
  782. package/dist/core/entities/role-permission/schema.d.ts +3 -0
  783. package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
  784. package/dist/core/entities/role-permission/schema.mjs +41 -0
  785. package/dist/core/entities/role-permission/schema.mjs.map +1 -0
  786. package/dist/core/entities/role-permission/service.d.ts +1 -1
  787. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  788. package/dist/core/entities/role-permission/service.mjs +24 -18
  789. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  790. package/dist/core/entities/scope/index.d.ts +1 -0
  791. package/dist/core/entities/scope/index.d.ts.map +1 -1
  792. package/dist/core/entities/scope/index.mjs +2 -1
  793. package/dist/core/entities/scope/schema.d.ts +3 -0
  794. package/dist/core/entities/scope/schema.d.ts.map +1 -0
  795. package/dist/core/entities/scope/schema.mjs +43 -0
  796. package/dist/core/entities/scope/schema.mjs.map +1 -0
  797. package/dist/core/entities/scope/service.d.ts.map +1 -1
  798. package/dist/core/entities/scope/service.mjs +11 -5
  799. package/dist/core/entities/scope/service.mjs.map +1 -1
  800. package/dist/core/entities/session/index.d.ts +1 -0
  801. package/dist/core/entities/session/index.d.ts.map +1 -1
  802. package/dist/core/entities/session/index.mjs +2 -1
  803. package/dist/core/entities/session/schema.d.ts +3 -0
  804. package/dist/core/entities/session/schema.d.ts.map +1 -0
  805. package/dist/core/entities/session/schema.mjs +44 -0
  806. package/dist/core/entities/session/schema.mjs.map +1 -0
  807. package/dist/core/entities/session/service.d.ts +11 -0
  808. package/dist/core/entities/session/service.d.ts.map +1 -1
  809. package/dist/core/entities/session/service.mjs +48 -11
  810. package/dist/core/entities/session/service.mjs.map +1 -1
  811. package/dist/core/entities/session/types.d.ts +2 -2
  812. package/dist/core/entities/trust-anchor/index.d.ts +1 -0
  813. package/dist/core/entities/trust-anchor/index.d.ts.map +1 -1
  814. package/dist/core/entities/trust-anchor/index.mjs +2 -1
  815. package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
  816. package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
  817. package/dist/core/entities/trust-anchor/schema.mjs +43 -0
  818. package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
  819. package/dist/core/entities/trust-anchor/service.d.ts +2 -2
  820. package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
  821. package/dist/core/entities/trust-anchor/service.mjs +23 -7
  822. package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
  823. package/dist/core/entities/trust-anchor/types.d.ts +9 -1
  824. package/dist/core/entities/trust-anchor/types.d.ts.map +1 -1
  825. package/dist/core/entities/user/index.d.ts +1 -0
  826. package/dist/core/entities/user/index.d.ts.map +1 -1
  827. package/dist/core/entities/user/index.mjs +2 -1
  828. package/dist/core/entities/user/schema.d.ts +3 -0
  829. package/dist/core/entities/user/schema.d.ts.map +1 -0
  830. package/dist/core/entities/user/schema.mjs +50 -0
  831. package/dist/core/entities/user/schema.mjs.map +1 -0
  832. package/dist/core/entities/user/service.d.ts.map +1 -1
  833. package/dist/core/entities/user/service.mjs +33 -12
  834. package/dist/core/entities/user/service.mjs.map +1 -1
  835. package/dist/core/entities/user/types.d.ts +2 -1
  836. package/dist/core/entities/user/types.d.ts.map +1 -1
  837. package/dist/core/entities/user-attribute/index.d.ts +1 -0
  838. package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
  839. package/dist/core/entities/user-attribute/index.mjs +2 -1
  840. package/dist/core/entities/user-attribute/schema.d.ts +3 -0
  841. package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
  842. package/dist/core/entities/user-attribute/schema.mjs +47 -0
  843. package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
  844. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  845. package/dist/core/entities/user-attribute/service.mjs +26 -10
  846. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  847. package/dist/core/entities/user-authenticator/index.d.ts +1 -0
  848. package/dist/core/entities/user-authenticator/index.d.ts.map +1 -1
  849. package/dist/core/entities/user-authenticator/index.mjs +2 -1
  850. package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
  851. package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
  852. package/dist/core/entities/user-authenticator/schema.mjs +47 -0
  853. package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
  854. package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
  855. package/dist/core/entities/user-authenticator/service.mjs +49 -27
  856. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  857. package/dist/core/entities/user-authenticator/types.d.ts +4 -3
  858. package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
  859. package/dist/core/entities/user-authenticator/types.mjs +2 -2
  860. package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
  861. package/dist/core/entities/user-permission/index.d.ts +1 -0
  862. package/dist/core/entities/user-permission/index.d.ts.map +1 -1
  863. package/dist/core/entities/user-permission/index.mjs +2 -1
  864. package/dist/core/entities/user-permission/schema.d.ts +3 -0
  865. package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
  866. package/dist/core/entities/user-permission/schema.mjs +41 -0
  867. package/dist/core/entities/user-permission/schema.mjs.map +1 -0
  868. package/dist/core/entities/user-permission/service.d.ts +1 -1
  869. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  870. package/dist/core/entities/user-permission/service.mjs +24 -18
  871. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  872. package/dist/core/entities/user-role/index.d.ts +1 -0
  873. package/dist/core/entities/user-role/index.d.ts.map +1 -1
  874. package/dist/core/entities/user-role/index.mjs +2 -1
  875. package/dist/core/entities/user-role/schema.d.ts +3 -0
  876. package/dist/core/entities/user-role/schema.d.ts.map +1 -0
  877. package/dist/core/entities/user-role/schema.mjs +39 -0
  878. package/dist/core/entities/user-role/schema.mjs.map +1 -0
  879. package/dist/core/entities/user-role/service.d.ts +1 -1
  880. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  881. package/dist/core/entities/user-role/service.mjs +14 -8
  882. package/dist/core/entities/user-role/service.mjs.map +1 -1
  883. package/dist/core/identity/entities/index.d.ts +0 -1
  884. package/dist/core/identity/entities/index.d.ts.map +1 -1
  885. package/dist/core/identity/password-recovery/service.mjs +21 -21
  886. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  887. package/dist/core/identity/password-recovery/types.d.ts +2 -2
  888. package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
  889. package/dist/core/identity/permission/checker/service.mjs +2 -2
  890. package/dist/core/identity/permission/checker/service.mjs.map +1 -1
  891. package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
  892. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
  893. package/dist/core/identity/permission/junction-grant.d.ts +6 -6
  894. package/dist/core/identity/permission/junction-grant.mjs +14 -14
  895. package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
  896. package/dist/core/identity/permission/module.d.ts +0 -3
  897. package/dist/core/identity/permission/module.d.ts.map +1 -1
  898. package/dist/core/identity/permission/module.mjs +9 -15
  899. package/dist/core/identity/permission/module.mjs.map +1 -1
  900. package/dist/core/identity/permission/types.d.ts +0 -2
  901. package/dist/core/identity/permission/types.d.ts.map +1 -1
  902. package/dist/core/identity/policy/checker/service.mjs +1 -1
  903. package/dist/core/identity/policy/checker/service.mjs.map +1 -1
  904. package/dist/core/identity/provider/account/module.mjs +9 -9
  905. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  906. package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
  907. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  908. package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
  909. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  910. package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
  911. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  912. package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
  913. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  914. package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
  915. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  916. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
  917. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  918. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -5
  919. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  920. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  921. package/dist/core/identity/provider/constants.mjs.map +1 -1
  922. package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
  923. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  924. package/dist/core/identity/provider/mapper/base.mjs +2 -2
  925. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  926. package/dist/core/identity/provider/mapper/constants.mjs.map +1 -1
  927. package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
  928. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  929. package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
  930. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  931. package/dist/core/identity/registration/service.mjs +9 -9
  932. package/dist/core/identity/registration/service.mjs.map +1 -1
  933. package/dist/core/identity/resolver/module.d.ts +1 -3
  934. package/dist/core/identity/resolver/module.d.ts.map +1 -1
  935. package/dist/core/identity/resolver/module.mjs +0 -13
  936. package/dist/core/identity/resolver/module.mjs.map +1 -1
  937. package/dist/core/identity/resolver/types.d.ts +1 -2
  938. package/dist/core/identity/resolver/types.d.ts.map +1 -1
  939. package/dist/core/identity/role/module.d.ts +0 -2
  940. package/dist/core/identity/role/module.d.ts.map +1 -1
  941. package/dist/core/identity/role/module.mjs +1 -4
  942. package/dist/core/identity/role/module.mjs.map +1 -1
  943. package/dist/core/identity/role/types.d.ts +0 -2
  944. package/dist/core/identity/role/types.d.ts.map +1 -1
  945. package/dist/core/index.d.ts +1 -0
  946. package/dist/core/index.d.ts.map +1 -1
  947. package/dist/core/index.mjs +28 -9
  948. package/dist/core/key/provisioner.mjs.map +1 -1
  949. package/dist/core/key/realm-cipher.mjs +5 -5
  950. package/dist/core/key/realm-cipher.mjs.map +1 -1
  951. package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -1
  952. package/dist/core/mail/template/templates/password-reset.mjs.map +1 -1
  953. package/dist/core/mail/template/templates/registration-activation.mjs.map +1 -1
  954. package/dist/core/mail/template/types.mjs.map +1 -1
  955. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  956. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +3 -3
  957. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  958. package/dist/core/oauth2/authorization/helpers.d.ts +2 -2
  959. package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
  960. package/dist/core/oauth2/authorization/helpers.mjs +5 -5
  961. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  962. package/dist/core/oauth2/authorization/module.mjs +8 -8
  963. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  964. package/dist/core/oauth2/client/authenticator.d.ts +1 -1
  965. package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
  966. package/dist/core/oauth2/client/authenticator.mjs +3 -3
  967. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  968. package/dist/core/oauth2/client/grant-type.d.ts +1 -1
  969. package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
  970. package/dist/core/oauth2/client/grant-type.mjs +2 -2
  971. package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
  972. package/dist/core/oauth2/end-session/service.mjs +5 -5
  973. package/dist/core/oauth2/end-session/service.mjs.map +1 -1
  974. package/dist/core/oauth2/grant-types/authorize.mjs +9 -9
  975. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  976. package/dist/core/oauth2/grant-types/client-credentials.mjs +7 -7
  977. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  978. package/dist/core/oauth2/grant-types/identity.mjs +10 -10
  979. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  980. package/dist/core/oauth2/grant-types/index.d.ts +0 -1
  981. package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
  982. package/dist/core/oauth2/grant-types/index.mjs +1 -2
  983. package/dist/core/oauth2/grant-types/password.d.ts +1 -1
  984. package/dist/core/oauth2/grant-types/password.mjs +13 -13
  985. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  986. package/dist/core/oauth2/grant-types/refresh-token.mjs +12 -12
  987. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  988. package/dist/core/oauth2/index.mjs +1 -2
  989. package/dist/core/oauth2/mfa-login/module.mjs +21 -21
  990. package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
  991. package/dist/core/oauth2/mfa-login/types.d.ts +1 -1
  992. package/dist/core/oauth2/openid/claims.d.ts +1 -3
  993. package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
  994. package/dist/core/oauth2/openid/claims.mjs +6 -19
  995. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  996. package/dist/core/oauth2/scope/resolver.d.ts +1 -3
  997. package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
  998. package/dist/core/oauth2/scope/resolver.mjs +9 -31
  999. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  1000. package/dist/core/oauth2/session-token/types.d.ts +8 -8
  1001. package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
  1002. package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
  1003. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  1004. package/dist/core/oauth2/token/issuer/mfa/module.mjs.map +1 -1
  1005. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  1006. package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
  1007. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  1008. package/dist/core/oauth2/token/signer/module.mjs +6 -6
  1009. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  1010. package/dist/core/oauth2/token/verifier/module.mjs +8 -8
  1011. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  1012. package/dist/core/provisioning/entities/index.d.ts +0 -1
  1013. package/dist/core/provisioning/entities/index.d.ts.map +1 -1
  1014. package/dist/core/provisioning/entities/index.mjs +1 -3
  1015. package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
  1016. package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
  1017. package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
  1018. package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
  1019. package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
  1020. package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
  1021. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  1022. package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
  1023. package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
  1024. package/dist/core/provisioning/entities/role/types.d.ts +2 -2
  1025. package/dist/core/provisioning/entities/utils.mjs.map +1 -1
  1026. package/dist/core/provisioning/index.mjs +1 -3
  1027. package/dist/core/provisioning/strategy/constants.mjs.map +1 -1
  1028. package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
  1029. package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
  1030. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  1031. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
  1032. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  1033. package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
  1034. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  1035. package/dist/core/provisioning/synchronizer/index.mjs +1 -3
  1036. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
  1037. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  1038. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
  1039. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  1040. package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
  1041. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  1042. package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
  1043. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  1044. package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
  1045. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  1046. package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
  1047. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  1048. package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
  1049. package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
  1050. package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
  1051. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  1052. package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
  1053. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  1054. package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
  1055. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  1056. package/dist/core/query/index.d.ts +4 -0
  1057. package/dist/core/query/index.d.ts.map +1 -0
  1058. package/dist/core/query/index.mjs +6 -0
  1059. package/dist/core/query/module.d.ts +60 -0
  1060. package/dist/core/query/module.d.ts.map +1 -0
  1061. package/dist/core/query/module.mjs +128 -0
  1062. package/dist/core/query/module.mjs.map +1 -0
  1063. package/dist/core/query/relations.d.ts +39 -0
  1064. package/dist/core/query/relations.d.ts.map +1 -0
  1065. package/dist/core/query/relations.mjs +103 -0
  1066. package/dist/core/query/relations.mjs.map +1 -0
  1067. package/dist/core/query/types.d.ts +39 -0
  1068. package/dist/core/query/types.d.ts.map +1 -0
  1069. package/dist/core/security/policy/evaluator.d.ts +1 -0
  1070. package/dist/core/security/policy/evaluator.d.ts.map +1 -1
  1071. package/dist/core/security/policy/evaluator.mjs +52 -5
  1072. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  1073. package/dist/index.mjs +1 -17
  1074. package/dist/swagger.json +2552 -3798
  1075. package/dist/ui/client/.vite/ssr-manifest.json +1542 -894
  1076. package/dist/ui/client/assets/index-CiHrf73J.css +2 -0
  1077. package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-mtJngmng.js} +21 -18
  1078. package/dist/ui/client/index.html +2 -2
  1079. package/dist/ui/server/server.js +10344 -3440
  1080. package/package.json +35 -30
  1081. package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
  1082. package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
  1083. package/dist/adapters/database/domains/robot/entity.mjs +0 -112
  1084. package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
  1085. package/dist/adapters/database/domains/robot/index.d.ts +0 -3
  1086. package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
  1087. package/dist/adapters/database/domains/robot/index.mjs +0 -6
  1088. package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
  1089. package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
  1090. package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
  1091. package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
  1092. package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
  1093. package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
  1094. package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
  1095. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
  1096. package/dist/adapters/database/domains/robot-permission/index.d.ts +0 -3
  1097. package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
  1098. package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
  1099. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
  1100. package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
  1101. package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
  1102. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
  1103. package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
  1104. package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
  1105. package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
  1106. package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
  1107. package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
  1108. package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
  1109. package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
  1110. package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
  1111. package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
  1112. package/dist/adapters/database/domains/robot-role/subscriber.mjs +0 -45
  1113. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
  1114. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
  1115. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1116. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
  1117. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1118. package/dist/adapters/http/controllers/entities/robot/index.d.ts +0 -2
  1119. package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
  1120. package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
  1121. package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
  1122. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
  1123. package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
  1124. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
  1125. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
  1126. package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
  1127. package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
  1128. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
  1129. package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
  1130. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +0 -114
  1131. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
  1132. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
  1133. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
  1134. package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
  1135. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
  1136. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
  1137. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
  1138. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
  1139. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
  1140. package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
  1141. package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
  1142. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
  1143. package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
  1144. package/dist/adapters/http/controllers/entities/robot-role/module.mjs +0 -95
  1145. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
  1146. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
  1147. package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
  1148. package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
  1149. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
  1150. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
  1151. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
  1152. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
  1153. package/dist/app/modules/database/repositories/robot/index.d.ts +0 -2
  1154. package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
  1155. package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
  1156. package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
  1157. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
  1158. package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
  1159. package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
  1160. package/dist/app/modules/database/repositories/robot-permission/index.d.ts +0 -2
  1161. package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
  1162. package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
  1163. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
  1164. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
  1165. package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
  1166. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
  1167. package/dist/app/modules/database/repositories/robot-role/index.d.ts +0 -2
  1168. package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
  1169. package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
  1170. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
  1171. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
  1172. package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
  1173. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
  1174. package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
  1175. package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
  1176. package/dist/app/modules/identity/repositories/robot.mjs +0 -47
  1177. package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
  1178. package/dist/core/authentication/credential/entities/robot/index.d.ts +0 -2
  1179. package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
  1180. package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
  1181. package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
  1182. package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
  1183. package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
  1184. package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
  1185. package/dist/core/authentication/entities/robot/index.d.ts +0 -2
  1186. package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
  1187. package/dist/core/authentication/entities/robot/index.mjs +0 -5
  1188. package/dist/core/authentication/entities/robot/module.d.ts +0 -11
  1189. package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
  1190. package/dist/core/authentication/entities/robot/module.mjs +0 -29
  1191. package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
  1192. package/dist/core/entities/robot/index.d.ts +0 -3
  1193. package/dist/core/entities/robot/index.d.ts.map +0 -1
  1194. package/dist/core/entities/robot/index.mjs +0 -5
  1195. package/dist/core/entities/robot/service.d.ts +0 -28
  1196. package/dist/core/entities/robot/service.d.ts.map +0 -1
  1197. package/dist/core/entities/robot/service.mjs +0 -201
  1198. package/dist/core/entities/robot/service.mjs.map +0 -1
  1199. package/dist/core/entities/robot/types.d.ts +0 -24
  1200. package/dist/core/entities/robot/types.d.ts.map +0 -1
  1201. package/dist/core/entities/robot/types.mjs +0 -4
  1202. package/dist/core/entities/robot-permission/index.d.ts +0 -3
  1203. package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
  1204. package/dist/core/entities/robot-permission/index.mjs +0 -5
  1205. package/dist/core/entities/robot-permission/service.d.ts +0 -25
  1206. package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
  1207. package/dist/core/entities/robot-permission/service.mjs +0 -137
  1208. package/dist/core/entities/robot-permission/service.mjs.map +0 -1
  1209. package/dist/core/entities/robot-permission/types.d.ts +0 -12
  1210. package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
  1211. package/dist/core/entities/robot-role/index.d.ts +0 -3
  1212. package/dist/core/entities/robot-role/index.d.ts.map +0 -1
  1213. package/dist/core/entities/robot-role/index.mjs +0 -5
  1214. package/dist/core/entities/robot-role/service.d.ts +0 -22
  1215. package/dist/core/entities/robot-role/service.d.ts.map +0 -1
  1216. package/dist/core/entities/robot-role/service.mjs +0 -90
  1217. package/dist/core/entities/robot-role/service.mjs.map +0 -1
  1218. package/dist/core/entities/robot-role/types.d.ts +0 -11
  1219. package/dist/core/entities/robot-role/types.d.ts.map +0 -1
  1220. package/dist/core/entities/robot-role/types.mjs +0 -4
  1221. package/dist/core/identity/entities/robot/index.d.ts +0 -2
  1222. package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
  1223. package/dist/core/identity/entities/robot/types.d.ts +0 -8
  1224. package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
  1225. package/dist/core/identity/entities/robot/types.mjs +0 -4
  1226. package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
  1227. package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
  1228. package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -39
  1229. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
  1230. package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
  1231. package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
  1232. package/dist/core/provisioning/entities/robot/index.mjs +0 -5
  1233. package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
  1234. package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
  1235. package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
  1236. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
  1237. package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
  1238. package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
  1239. package/dist/core/provisioning/entities/robot/types.mjs +0 -4
  1240. package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
  1241. package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
  1242. package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
  1243. package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
  1244. package/dist/core/provisioning/synchronizer/robot/index.d.ts +0 -3
  1245. package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
  1246. package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
  1247. package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
  1248. package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
  1249. package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
  1250. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
  1251. package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
  1252. package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
  1253. package/dist/core/provisioning/synchronizer/robot/types.mjs +0 -4
  1254. package/dist/ui/client/assets/index-BmWsoQro.css +0 -2
  1255. /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"read.mjs","names":["KeyStatus","AsymmetricKey","JWKError","JWKType","JWKUse","In","buildCertificateJwkFields","getJwksRouteHandler","repository","realmId","entities","find","where","type","RSA","EC","use","SIGNATURE","status","ACTIVE","PASSIVE","realm_id","order","priority","promises","filter","entity","encryption_key","signature_algorithm","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","then","container","toJWK","certificateFields","certificate","kid","id","alg","keys","Promise","all","getJwkRouteHandler","keyId","findOne","notFound","encryptionKeyMissing","jsonWebKey"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/jwks/handlers/read.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2022.\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 { KeyStatus } from '@authup/core-kit';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport type { JWTAlgorithm, OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKError, JWKType, JWKUse } from '@authup/specs';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport type { KeyEntity } from '../../../../../database/domains/index.ts';\nimport { buildCertificateJwkFields } from '../../../../../../core/index.ts';\n\nexport async function getJwksRouteHandler(\n repository: Repository<KeyEntity>,\n realmId?: string,\n) : Promise<{ keys: OAuth2JsonWebKey[] }> {\n const entities = await repository.find({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n // active + passive verify; disabled keys never publish.\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n ...(realmId ? { realm_id: realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter(\n (entity): entity is KeyEntity & { encryption_key: string, signature_algorithm: `${JWTAlgorithm}` } => !!entity.encryption_key &&\n !!entity.signature_algorithm,\n )\n .map(\n (entity) => AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryption_key,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm),\n })\n .then((container) => container.toJWK())\n .then(async (key) => {\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...key,\n kid: entity.id,\n alg: entity.signature_algorithm,\n ...certificateFields,\n };\n }),\n );\n\n const keys = await Promise.all(promises);\n\n return { keys };\n}\n\nexport async function getJwkRouteHandler(\n repository: Repository<KeyEntity>,\n keyId: string,\n realmId?: string,\n) : Promise<OAuth2JsonWebKey> {\n const entity = await repository.findOne({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n id: keyId,\n ...(realmId ? { realm_id: realmId } : {}),\n },\n });\n\n if (!entity) {\n throw JWKError.notFound(keyId);\n }\n\n if (!entity.encryption_key || !entity.signature_algorithm) {\n throw JWKError.encryptionKeyMissing();\n }\n\n const container = await AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryption_key,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm),\n });\n\n const jsonWebKey = await container.toJWK();\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signature_algorithm,\n ...certificateFields,\n };\n}\n"],"mappings":";;;;;;;;;;AAgBA,eAAsBO,oBAClBC,YACAC,SAAgB;CAahB,MAAMe,YAAWd,MAXMF,WAAWG,KAAK;EACnCC,OAAO;GACHC,MAAMR,GAAG,CAACF,QAAQW,KAAKX,QAAQY,EAAAA,CAAG;GAClCC,KAAKZ,OAAOa;GAEZC,QAAQb,GAAG,CAACL,UAAUmB,QAAQnB,UAAUoB,OAAAA,CAAQ;GAChD,GAAIX,UAAU,EAAEY,UAAUZ,QAAQ,IAAI,CAAC;EAC3C;EACAa,OAAO,EAAEC,UAAU,OAAO;CAC9B,CAAA,EAAA,CAGKE,QACIC,WAAqG,CAAC,CAACA,OAAOC,kBAC3G,CAAC,CAACD,OAAOE,mBAAmB,CAAA,CAEnCC,KACIH,WAAWzB,cACP6B,WAAW;EACRC,QAAQ;EACRC,KAAKN,OAAOC;EACZM,SAAShC,cAAciC,kCAAkCR,OAAOE,mBAAmB;CACvF,CAAA,CAAA,CACCO,MAAMC,cAAcA,UAAUC,MAAK,CAAA,CAAA,CACnCF,KAAK,OAAOH,QAAAA;EACT,MAAMM,oBAAoB,MAAMhC,0BAA0BoB,OAAOa,WAAW;EAE5E,OAAO;GACH,GAAGP;GACHQ,KAAKd,OAAOe;GACZC,KAAKhB,OAAOE;GACZ,GAAGU;EACP;CACJ,CAAA,CAAA;CAKZ,OAAO,EAAEK,MAAAA,MAFUC,QAAQC,IAAIrB,QAAAA,EAEjB;AAClB;AAEA,eAAsBsB,mBAClBtC,YACAuC,OACAtC,SAAgB;CAEhB,MAAMiB,SAAS,MAAMlB,WAAWwC,QAAQ,EACpCpC,OAAO;EACHC,MAAMR,GAAG,CAACF,QAAQW,KAAKX,QAAQY,EAAAA,CAAG;EAClCC,KAAKZ,OAAOa;EACZC,QAAQb,GAAG,CAACL,UAAUmB,QAAQnB,UAAUoB,OAAAA,CAAQ;EAChDqB,IAAIM;EACJ,GAAItC,UAAU,EAAEY,UAAUZ,QAAQ,IAAI,CAAC;CAC3C,EACJ,CAAA;CAEA,IAAI,CAACiB,QACD,MAAMxB,SAAS+C,SAASF,KAAAA;CAG5B,IAAI,CAACrB,OAAOC,kBAAkB,CAACD,OAAOE,qBAClC,MAAM1B,SAASgD,qBAAoB;CAUvC,MAAMC,aAAa,OAAMf,MAPDnC,cACnB6B,WAAW;EACRC,QAAQ;EACRC,KAAKN,OAAOC;EACZM,SAAShC,cAAciC,kCAAkCR,OAAOE,mBAAmB;CACvF,CAAA,EAAA,CAE+BS,MAAK;CACxC,MAAMC,oBAAoB,MAAMhC,0BAA0BoB,OAAOa,WAAW;CAE5E,OAAO;EACH,GAAGY;EACHX,KAAKd,OAAOe;EACZC,KAAKhB,OAAOE;EACZ,GAAGU;CACP;AACJ"}
1
+ {"version":3,"file":"read.mjs","names":["KeyStatus","AsymmetricKey","JWKError","JWKType","JWKUse","In","buildCertificateJwkFields","getJwksRouteHandler","repository","realmId","entities","find","where","type","RSA","EC","use","SIGNATURE","status","ACTIVE","PASSIVE","order","priority","promises","filter","entity","encryptionKey","signatureAlgorithm","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","then","container","toJWK","certificateFields","certificate","kid","id","alg","keys","Promise","all","getJwkRouteHandler","keyId","findOne","notFound","encryptionKeyMissing","jsonWebKey"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/jwks/handlers/read.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2022.\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 { KeyStatus } from '@authup/core-kit';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport type { JWTAlgorithm, OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKError, JWKType, JWKUse } from '@authup/specs';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport type { KeyEntity } from '../../../../../database/domains/index.ts';\nimport { buildCertificateJwkFields } from '../../../../../../core/index.ts';\n\nexport async function getJwksRouteHandler(\n repository: Repository<KeyEntity>,\n realmId?: string,\n) : Promise<{ keys: OAuth2JsonWebKey[] }> {\n const entities = await repository.find({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n // active + passive verify; disabled keys never publish.\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n ...(realmId ? { realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter(\n (entity): entity is KeyEntity & { encryptionKey: string, signatureAlgorithm: `${JWTAlgorithm}` } => !!entity.encryptionKey &&\n !!entity.signatureAlgorithm,\n )\n .map(\n (entity) => AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryptionKey,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm),\n })\n .then((container) => container.toJWK())\n .then(async (key) => {\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...key,\n kid: entity.id,\n alg: entity.signatureAlgorithm,\n ...certificateFields,\n };\n }),\n );\n\n const keys = await Promise.all(promises);\n\n return { keys };\n}\n\nexport async function getJwkRouteHandler(\n repository: Repository<KeyEntity>,\n keyId: string,\n realmId?: string,\n) : Promise<OAuth2JsonWebKey> {\n const entity = await repository.findOne({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n id: keyId,\n ...(realmId ? { realmId } : {}),\n },\n });\n\n if (!entity) {\n throw JWKError.notFound(keyId);\n }\n\n if (!entity.encryptionKey || !entity.signatureAlgorithm) {\n throw JWKError.encryptionKeyMissing();\n }\n\n const container = await AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryptionKey,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm),\n });\n\n const jsonWebKey = await container.toJWK();\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signatureAlgorithm,\n ...certificateFields,\n };\n}\n"],"mappings":";;;;;;;;;;AAgBA,eAAsBO,oBAClBC,YACAC,SAAgB;CAahB,MAAMc,YAAWb,MAXMF,WAAWG,KAAK;EACnCC,OAAO;GACHC,MAAMR,GAAG,CAACF,QAAQW,KAAKX,QAAQY,EAAG,CAAA;GAClCC,KAAKZ,OAAOa;GAEZC,QAAQb,GAAG,CAACL,UAAUmB,QAAQnB,UAAUoB,OAAQ,CAAA;GAChD,GAAIX,UAAU,EAAEA,QAAQ,IAAI,CAAC;EACjC;EACAY,OAAO,EAAEC,UAAU,OAAO;CAC9B,CAAA,EAAA,CAGKE,QACIC,WAAmG,CAAC,CAACA,OAAOC,iBACzG,CAAC,CAACD,OAAOE,kBAAkB,CAAA,CAElCC,KACIH,WAAWxB,cACP4B,WAAW;EACRC,QAAQ;EACRC,KAAKN,OAAOC;EACZM,SAAS/B,cAAcgC,kCAAkCR,OAAOE,kBAAkB;CACtF,CAAA,CAAA,CACCO,MAAMC,cAAcA,UAAUC,MAAK,CAAA,CAAA,CACnCF,KAAK,OAAOH,QAAAA;EACT,MAAMM,oBAAoB,MAAM/B,0BAA0BmB,OAAOa,WAAW;EAE5E,OAAO;GACH,GAAGP;GACHQ,KAAKd,OAAOe;GACZC,KAAKhB,OAAOE;GACZ,GAAGU;EACP;CACJ,CAAA,CAAA;CAKZ,OAAO,EAAEK,MAAAA,MAFUC,QAAQC,IAAIrB,QAAAA,EAEjB;AAClB;AAEA,eAAsBsB,mBAClBrC,YACAsC,OACArC,SAAgB;CAEhB,MAAMgB,SAAS,MAAMjB,WAAWuC,QAAQ,EACpCnC,OAAO;EACHC,MAAMR,GAAG,CAACF,QAAQW,KAAKX,QAAQY,EAAG,CAAA;EAClCC,KAAKZ,OAAOa;EACZC,QAAQb,GAAG,CAACL,UAAUmB,QAAQnB,UAAUoB,OAAQ,CAAA;EAChDoB,IAAIM;EACJ,GAAIrC,UAAU,EAAEA,QAAQ,IAAI,CAAC;CACjC,EACJ,CAAA;CAEA,IAAI,CAACgB,QACD,MAAMvB,SAAS8C,SAASF,KAAAA;CAG5B,IAAI,CAACrB,OAAOC,iBAAiB,CAACD,OAAOE,oBACjC,MAAMzB,SAAS+C,qBAAoB;CAUvC,MAAMC,aAAa,OAAMf,MAPDlC,cACnB4B,WAAW;EACRC,QAAQ;EACRC,KAAKN,OAAOC;EACZM,SAAS/B,cAAcgC,kCAAkCR,OAAOE,kBAAkB;CACtF,CAAA,EAAA,CAE+BS,MAAK;CACxC,MAAMC,oBAAoB,MAAM/B,0BAA0BmB,OAAOa,WAAW;CAE5E,OAAO;EACH,GAAGY;EACHX,KAAKd,OAAOe;EACZC,KAAKhB,OAAOE;EACZ,GAAGU;CACP;AACJ"}
@@ -17,8 +17,8 @@ function _ts_decorate(decorators, target, key, desc) {
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
+ function _ts_metadata(metadataKey, metadataValue) {
21
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
22
22
  }
23
23
  function _ts_param(paramIndex, decorator) {
24
24
  return function(target, key) {
@@ -37,19 +37,19 @@ var JwkController = class {
37
37
  type: In([JWKType.RSA, JWKType.EC]),
38
38
  use: JWKUse.SIGNATURE,
39
39
  status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),
40
- ...realmId ? { realm_id: realmId } : {}
40
+ ...realmId ? { realmId } : {}
41
41
  },
42
42
  order: { priority: "DESC" }
43
- })).filter((entity) => !!entity.encryption_key && !!entity.signature_algorithm).map((entity) => AsymmetricKey.fromBase64({
43
+ })).filter((entity) => !!entity.encryptionKey && !!entity.signatureAlgorithm).map((entity) => AsymmetricKey.fromBase64({
44
44
  format: "spki",
45
- key: entity.encryption_key,
46
- options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm)
45
+ key: entity.encryptionKey,
46
+ options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm)
47
47
  }).then((container) => container.toJWK()).then(async (key) => {
48
48
  const certificateFields = await buildCertificateJwkFields(entity.certificate);
49
49
  return {
50
50
  ...key,
51
51
  kid: entity.id,
52
- alg: entity.signature_algorithm,
52
+ alg: entity.signatureAlgorithm,
53
53
  ...certificateFields
54
54
  };
55
55
  }));
@@ -63,17 +63,17 @@ var JwkController = class {
63
63
  id
64
64
  } });
65
65
  if (!entity) throw JWKError.notFound(id);
66
- if (!entity.encryption_key || !entity.signature_algorithm) throw JWKError.encryptionKeyMissing();
66
+ if (!entity.encryptionKey || !entity.signatureAlgorithm) throw JWKError.encryptionKeyMissing();
67
67
  const jsonWebKey = await (await AsymmetricKey.fromBase64({
68
68
  format: "spki",
69
- key: entity.encryption_key,
70
- options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm)
69
+ key: entity.encryptionKey,
70
+ options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm)
71
71
  })).toJWK();
72
72
  const certificateFields = await buildCertificateJwkFields(entity.certificate);
73
73
  return {
74
74
  ...jsonWebKey,
75
75
  kid: entity.id,
76
- alg: entity.signature_algorithm,
76
+ alg: entity.signatureAlgorithm,
77
77
  ...certificateFields
78
78
  };
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["KeyStatus","JWKError","JWKType","JWKUse","AsymmetricKey","DContext","DController","DGet","DPath","In","buildCertificateJwkFields","getRequestStringParam","JwkController","repository","ctx","getManyJwks","event","realmId","entities","find","where","type","RSA","EC","use","SIGNATURE","status","ACTIVE","PASSIVE","realm_id","order","priority","promises","filter","entity","encryption_key","signature_algorithm","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","then","container","toJWK","certificateFields","certificate","kid","id","alg","keys","Promise","all","getOneJwks","findOne","notFound","encryptionKeyMissing","jsonWebKey"],"sources":["../../../../../../src/adapters/http/controllers/workflows/jwks/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { KeyStatus } from '@authup/core-kit';\nimport type { JWTAlgorithm, OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKError, JWKType, JWKUse } from '@authup/specs';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport type { KeyEntity } from '../../../../database/domains/index.ts';\nimport { buildCertificateJwkFields } from '../../../../../core/index.ts';\nimport { getRequestStringParam } from '../../../request/index.ts';\n\nexport type JwkControllerContext = {\n repository: Repository<KeyEntity>\n};\n\n@DController('')\nexport class JwkController {\n protected repository: Repository<KeyEntity>;\n\n constructor(ctx: JwkControllerContext) {\n this.repository = ctx.repository;\n }\n\n @DGet('/jwks', [])\n async getManyJwks(\n @DContext() event: IAppEvent,\n ): Promise<{ keys: OAuth2JsonWebKey[] }> {\n const realmId = getRequestStringParam(event, 'realmId');\n\n const entities = await this.repository.find({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n // active + passive verify; disabled keys never publish.\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n ...(realmId ? { realm_id: realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter(\n (entity): entity is KeyEntity & { encryption_key: string, signature_algorithm: `${JWTAlgorithm}` } => !!entity.encryption_key &&\n !!entity.signature_algorithm,\n )\n .map(\n (entity) => AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryption_key,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm),\n })\n .then((container) => container.toJWK())\n .then(async (key) => {\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...key,\n kid: entity.id,\n alg: entity.signature_algorithm,\n ...certificateFields,\n };\n }),\n );\n\n const keys = await Promise.all(promises);\n\n return { keys };\n }\n\n @DGet('/jwks/:id', [])\n async getOneJwks(@DPath('id') id: string): Promise<OAuth2JsonWebKey> {\n const entity = await this.repository.findOne({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n id,\n },\n });\n\n if (!entity) {\n throw JWKError.notFound(id);\n }\n\n if (!entity.encryption_key || !entity.signature_algorithm) {\n throw JWKError.encryptionKeyMissing();\n }\n\n const container = await AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryption_key,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm),\n });\n\n const jsonWebKey = await container.toJWK();\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signature_algorithm,\n ...certificateFields,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAaY,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;EACnC,KAAKD,aAAaC,IAAID;CAC1B;CAEA,MACME,YACF,OACqC;EACrC,MAAME,UAAUN,sBAAsBK,OAAO,SAAA;EAa7C,MAAMgB,YAAWd,MAXM,KAAKL,WAAWM,KAAK;GACxCC,OAAO;IACHC,MAAMZ,GAAG,CAACP,QAAQoB,KAAKpB,QAAQqB,EAAAA,CAAG;IAClCC,KAAKrB,OAAOsB;IAEZC,QAAQjB,GAAG,CAACT,UAAU2B,QAAQ3B,UAAU4B,OAAAA,CAAQ;IAChD,GAAIX,UAAU,EAAEY,UAAUZ,QAAQ,IAAI,CAAC;GAC3C;GACAa,OAAO,EAAEC,UAAU,OAAO;EAC9B,CAAA,EAAA,CAGKE,QACIC,WAAqG,CAAC,CAACA,OAAOC,kBAC3G,CAAC,CAACD,OAAOE,mBAAmB,CAAA,CAEnCC,KACIH,WAAW9B,cACPkC,WAAW;GACRC,QAAQ;GACRC,KAAKN,OAAOC;GACZM,SAASrC,cAAcsC,kCAAkCR,OAAOE,mBAAmB;EACvF,CAAA,CAAA,CACCO,MAAMC,cAAcA,UAAUC,MAAK,CAAA,CAAA,CACnCF,KAAK,OAAOH,QAAAA;GACT,MAAMM,oBAAoB,MAAMpC,0BAA0BwB,OAAOa,WAAW;GAE5E,OAAO;IACH,GAAGP;IACHQ,KAAKd,OAAOe;IACZC,KAAKhB,OAAOE;IACZ,GAAGU;GACP;EACJ,CAAA,CAAA;EAKZ,OAAO,EAAEK,MAAAA,MAFUC,QAAQC,IAAIrB,QAAAA,EAEjB;CAClB;CAEA,MACMsB,WAAW,IAAoD;EACjE,MAAMpB,SAAS,MAAM,KAAKrB,WAAW0C,QAAQ,EACzCnC,OAAO;GACHC,MAAMZ,GAAG,CAACP,QAAQoB,KAAKpB,QAAQqB,EAAAA,CAAG;GAClCC,KAAKrB,OAAOsB;GACZC,QAAQjB,GAAG,CAACT,UAAU2B,QAAQ3B,UAAU4B,OAAAA,CAAQ;GAChDqB;EACJ,EACJ,CAAA;EAEA,IAAI,CAACf,QACD,MAAMjC,SAASuD,SAASP,EAAAA;EAG5B,IAAI,CAACf,OAAOC,kBAAkB,CAACD,OAAOE,qBAClC,MAAMnC,SAASwD,qBAAoB;EAUvC,MAAMC,aAAa,OAAMd,MAPDxC,cACnBkC,WAAW;GACRC,QAAQ;GACRC,KAAKN,OAAOC;GACZM,SAASrC,cAAcsC,kCAAkCR,OAAOE,mBAAmB;EACvF,CAAA,EAAA,CAE+BS,MAAK;EACxC,MAAMC,oBAAoB,MAAMpC,0BAA0BwB,OAAOa,WAAW;EAE5E,OAAO;GACH,GAAGW;GACHV,KAAKd,OAAOe;GACZC,KAAKhB,OAAOE;GACZ,GAAGU;EACP;CACJ;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["KeyStatus","JWKError","JWKType","JWKUse","AsymmetricKey","DContext","DController","DGet","DPath","In","buildCertificateJwkFields","getRequestStringParam","JwkController","repository","ctx","getManyJwks","event","realmId","entities","find","where","type","RSA","EC","use","SIGNATURE","status","ACTIVE","PASSIVE","order","priority","promises","filter","entity","encryptionKey","signatureAlgorithm","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","then","container","toJWK","certificateFields","certificate","kid","id","alg","keys","Promise","all","getOneJwks","findOne","notFound","encryptionKeyMissing","jsonWebKey"],"sources":["../../../../../../src/adapters/http/controllers/workflows/jwks/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { KeyStatus } from '@authup/core-kit';\nimport type { JWTAlgorithm, OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKError, JWKType, JWKUse } from '@authup/specs';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport type { KeyEntity } from '../../../../database/domains/index.ts';\nimport { buildCertificateJwkFields } from '../../../../../core/index.ts';\nimport { getRequestStringParam } from '../../../request/index.ts';\n\nexport type JwkControllerContext = {\n repository: Repository<KeyEntity>\n};\n\n@DController('')\nexport class JwkController {\n protected repository: Repository<KeyEntity>;\n\n constructor(ctx: JwkControllerContext) {\n this.repository = ctx.repository;\n }\n\n @DGet('/jwks', [])\n async getManyJwks(\n @DContext() event: IAppEvent,\n ): Promise<{ keys: OAuth2JsonWebKey[] }> {\n const realmId = getRequestStringParam(event, 'realmId');\n\n const entities = await this.repository.find({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n // active + passive verify; disabled keys never publish.\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n ...(realmId ? { realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter(\n (entity): entity is KeyEntity & { encryptionKey: string, signatureAlgorithm: `${JWTAlgorithm}` } => !!entity.encryptionKey &&\n !!entity.signatureAlgorithm,\n )\n .map(\n (entity) => AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryptionKey,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm),\n })\n .then((container) => container.toJWK())\n .then(async (key) => {\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...key,\n kid: entity.id,\n alg: entity.signatureAlgorithm,\n ...certificateFields,\n };\n }),\n );\n\n const keys = await Promise.all(promises);\n\n return { keys };\n }\n\n @DGet('/jwks/:id', [])\n async getOneJwks(@DPath('id') id: string): Promise<OAuth2JsonWebKey> {\n const entity = await this.repository.findOne({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n use: JWKUse.SIGNATURE,\n status: In([KeyStatus.ACTIVE, KeyStatus.PASSIVE]),\n id,\n },\n });\n\n if (!entity) {\n throw JWKError.notFound(id);\n }\n\n if (!entity.encryptionKey || !entity.signatureAlgorithm) {\n throw JWKError.encryptionKeyMissing();\n }\n\n const container = await AsymmetricKey\n .fromBase64({\n format: 'spki',\n key: entity.encryptionKey,\n options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signatureAlgorithm),\n });\n\n const jsonWebKey = await container.toJWK();\n const certificateFields = await buildCertificateJwkFields(entity.certificate);\n\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signatureAlgorithm,\n ...certificateFields,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAaY,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;EACnC,KAAKD,aAAaC,IAAID;CAC1B;CAEA,MACME,YACF,OACqC;EACrC,MAAME,UAAUN,sBAAsBK,OAAO,SAAA;EAa7C,MAAMe,YAAWb,MAXM,KAAKL,WAAWM,KAAK;GACxCC,OAAO;IACHC,MAAMZ,GAAG,CAACP,QAAQoB,KAAKpB,QAAQqB,EAAG,CAAA;IAClCC,KAAKrB,OAAOsB;IAEZC,QAAQjB,GAAG,CAACT,UAAU2B,QAAQ3B,UAAU4B,OAAQ,CAAA;IAChD,GAAIX,UAAU,EAAEA,QAAQ,IAAI,CAAC;GACjC;GACAY,OAAO,EAAEC,UAAU,OAAO;EAC9B,CAAA,EAAA,CAGKE,QACIC,WAAmG,CAAC,CAACA,OAAOC,iBACzG,CAAC,CAACD,OAAOE,kBAAkB,CAAA,CAElCC,KACIH,WAAW7B,cACPiC,WAAW;GACRC,QAAQ;GACRC,KAAKN,OAAOC;GACZM,SAASpC,cAAcqC,kCAAkCR,OAAOE,kBAAkB;EACtF,CAAA,CAAA,CACCO,MAAMC,cAAcA,UAAUC,MAAK,CAAA,CAAA,CACnCF,KAAK,OAAOH,QAAAA;GACT,MAAMM,oBAAoB,MAAMnC,0BAA0BuB,OAAOa,WAAW;GAE5E,OAAO;IACH,GAAGP;IACHQ,KAAKd,OAAOe;IACZC,KAAKhB,OAAOE;IACZ,GAAGU;GACP;EACJ,CAAA,CAAA;EAKZ,OAAO,EAAEK,MAAAA,MAFUC,QAAQC,IAAIrB,QAAAA,EAEjB;CAClB;CAEA,MACMsB,WAAW,IAAoD;EACjE,MAAMpB,SAAS,MAAM,KAAKpB,WAAWyC,QAAQ,EACzClC,OAAO;GACHC,MAAMZ,GAAG,CAACP,QAAQoB,KAAKpB,QAAQqB,EAAG,CAAA;GAClCC,KAAKrB,OAAOsB;GACZC,QAAQjB,GAAG,CAACT,UAAU2B,QAAQ3B,UAAU4B,OAAQ,CAAA;GAChDoB;EACJ,EACJ,CAAA;EAEA,IAAI,CAACf,QACD,MAAMhC,SAASsD,SAASP,EAAAA;EAG5B,IAAI,CAACf,OAAOC,iBAAiB,CAACD,OAAOE,oBACjC,MAAMlC,SAASuD,qBAAoB;EAUvC,MAAMC,aAAa,OAAMd,MAPDvC,cACnBiC,WAAW;GACRC,QAAQ;GACRC,KAAKN,OAAOC;GACZM,SAASpC,cAAcqC,kCAAkCR,OAAOE,kBAAkB;EACtF,CAAA,EAAA,CAE+BS,MAAK;EACxC,MAAMC,oBAAoB,MAAMnC,0BAA0BuB,OAAOa,WAAW;EAE5E,OAAO;GACH,GAAGW;GACHV,KAAKd,OAAOe;GACZC,KAAKhB,OAAOE;GACZ,GAAGU;EACP;CACJ;AACJ"}
@@ -17,8 +17,8 @@ function _ts_decorate(decorators, target, key, desc) {
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  }
20
- function _ts_metadata(k, v) {
21
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
+ function _ts_metadata(metadataKey, metadataValue) {
21
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
22
22
  }
23
23
  function _ts_param(paramIndex, decorator) {
24
24
  return function(target, key) {
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DContext","DController","DGet","DPost","URL","sendRedirect","OAuth2EndSessionRequestValidator","readFromLocations","renderUIPage","LogoutController","options","endSessionService","validator","ctx","serve","event","handle","execute","merged","data","run","result","verify","serverRevoked","hintVerified","sessionId","sub","subKind","revoke","redirect","redirectUri","url","state","searchParams","set","href","requestURL","request","payload","config","baseURL","client","clientName","name","undefined","hintSub","hintSubKind","requestPath","pathname","search"],"sources":["../../../../../../src/adapters/http/controllers/workflows/logout/module.ts"],"sourcesContent":["/*\n * Copyright (c) 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 {\n DContext,\n DController,\n DGet,\n DPost,\n} from '@routup/decorators';\nimport { URL } from 'node:url';\nimport type { IAppEvent } from 'routup';\nimport { sendRedirect } from 'routup';\nimport type { IOAuth2EndSessionService, OAuth2EndSessionRequest } from '../../../../../core/index.ts';\nimport { OAuth2EndSessionRequestValidator } from '../../../../../core/index.ts';\nimport { readFromLocations } from '../../../request/index.ts';\nimport { renderUIPage } from '../../../ui/index.ts';\nimport type { LogoutControllerContext, LogoutControllerOptions } from './types.ts';\n\n@DController('/logout')\nexport class LogoutController {\n protected options: LogoutControllerOptions;\n\n protected endSessionService: IOAuth2EndSessionService;\n\n protected validator: OAuth2EndSessionRequestValidator;\n\n constructor(ctx: LogoutControllerContext) {\n this.options = ctx.options;\n this.endSessionService = ctx.endSessionService;\n this.validator = new OAuth2EndSessionRequestValidator();\n }\n\n @DGet('', [])\n async serve(@DContext() event: IAppEvent): Promise<string | Response> {\n return this.handle(event);\n }\n\n // OIDC RP-Initiated Logout allows form_post on the same endpoint.\n @DPost('', [])\n async execute(@DContext() event: IAppEvent): Promise<string | Response> {\n return this.handle(event);\n }\n\n protected async handle(event: IAppEvent): Promise<string | Response> {\n const merged = await readFromLocations(event, ['body', 'query']);\n\n // Malformed input (oversized / duplicated params) must never dead-end\n // the human behind the browser on a JSON error: fall back to a\n // parameter-less confirm page — every attacker-controlled value is\n // dropped, the click-gated sign-out keeps working.\n let data: OAuth2EndSessionRequest;\n try {\n data = await this.validator.run(merged);\n } catch {\n data = {};\n }\n\n const result = await this.endSessionService.verify(data);\n\n // A signature-verified id_token_hint proves possession — revoke the\n // referenced session server-side immediately (only if it belongs to the\n // hint's subject). Without a hint we mutate nothing; the SSR page's\n // sign-out is a click-gated, bearer-authenticated action.\n let serverRevoked = false;\n if (result.hintVerified && result.sessionId && result.sub && result.subKind) {\n serverRevoked = await this.endSessionService.revoke(\n result.sessionId,\n result.sub,\n result.subKind,\n );\n }\n\n // Build the validated post-logout redirect (the open-redirect guard\n // lives in the service; `state` rides only alongside a validated uri).\n let redirect: string | undefined;\n if (result.redirectUri) {\n const url = new URL(result.redirectUri);\n if (result.state) {\n url.searchParams.set('state', result.state);\n }\n\n redirect = url.href;\n }\n\n // Bounce straight back to the RP ONLY when the logout was actually\n // performed server-side (a verified hint revoked the session). A\n // hint-less or forged request MUST NOT silently redirect without ending\n // the session — otherwise the RP treats a no-op round-trip as a\n // successful logout while the authup session survives. Instead render\n // the click-gated confirm page, which performs the bearer-authenticated\n // sign-out and then redirects.\n if (serverRevoked && redirect) {\n return sendRedirect(event, redirect);\n }\n\n const requestURL = new URL(event.request.url);\n\n return renderUIPage(event, {\n url: '/logout',\n payload: {\n config: { baseURL: this.options.baseURL },\n data: {\n client: result.clientName ? { name: result.clientName } : undefined,\n hintVerified: result.hintVerified,\n // never reflect an unverified hint's claims\n hintSub: result.hintVerified ? result.sub : undefined,\n hintSubKind: result.hintVerified ? result.subKind : undefined,\n serverRevoked,\n // the (already validated) uri to return to after a click-gated\n // sign-out; carries `state` when present\n redirect,\n requestPath: `${requestURL.pathname}${requestURL.search}`,\n },\n },\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAaS,mBAAb,MAAaA;CACCC;CAEAC;CAEAC;CAEV,YAAYC,KAA8B;EACtC,KAAKH,UAAUG,IAAIH;EACnB,KAAKC,oBAAoBE,IAAIF;EAC7B,KAAKC,YAAY,IAAIN,iCAAAA;CACzB;CAEA,MACMQ,MAAM,OAA0D;EAClE,OAAO,KAAKE,OAAOD,KAAAA;CACvB;CAGA,MACME,QAAQ,OAA0D;EACpE,OAAO,KAAKD,OAAOD,KAAAA;CACvB;CAEA,MAAgBC,OAAOD,OAA8C;EACjE,MAAMG,SAAS,MAAMX,kBAAkBQ,OAAO,CAAC,QAAQ,OAAA,CAAQ;EAM/D,IAAII;EACJ,IAAI;GACAA,OAAO,MAAM,KAAKP,UAAUQ,IAAIF,MAAAA;EACpC,QAAQ;GACJC,OAAO,CAAC;EACZ;EAEA,MAAME,SAAS,MAAM,KAAKV,kBAAkBW,OAAOH,IAAAA;EAMnD,IAAII,gBAAgB;EACpB,IAAIF,OAAOG,gBAAgBH,OAAOI,aAAaJ,OAAOK,OAAOL,OAAOM,SAChEJ,gBAAgB,MAAM,KAAKZ,kBAAkBiB,OACzCP,OAAOI,WACPJ,OAAOK,KACPL,OAAOM,OAAO;EAMtB,IAAIE;EACJ,IAAIR,OAAOS,aAAa;GACpB,MAAMC,MAAM,IAAI3B,IAAIiB,OAAOS,WAAW;GACtC,IAAIT,OAAOW,OACPD,IAAIE,aAAaC,IAAI,SAASb,OAAOW,KAAK;GAG9CH,WAAWE,IAAII;EACnB;EASA,IAAIZ,iBAAiBM,UACjB,OAAOxB,aAAaU,OAAOc,QAAAA;EAG/B,MAAMO,aAAa,IAAIhC,IAAIW,MAAMsB,QAAQN,GAAG;EAE5C,OAAOvB,aAAaO,OAAO;GACvBgB,KAAK;GACLO,SAAS;IACLC,QAAQ,EAAEC,SAAS,KAAK9B,QAAQ8B,QAAQ;IACxCrB,MAAM;KACFsB,QAAQpB,OAAOqB,aAAa,EAAEC,MAAMtB,OAAOqB,WAAW,IAAIE,KAAAA;KAC1DpB,cAAcH,OAAOG;KAErBqB,SAASxB,OAAOG,eAAeH,OAAOK,MAAMkB,KAAAA;KAC5CE,aAAazB,OAAOG,eAAeH,OAAOM,UAAUiB,KAAAA;KACpDrB;KAGAM;KACAkB,aAAa,GAAGX,WAAWY,WAAWZ,WAAWa;IACrD;GACJ;EACJ,CAAA;CACJ;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["DContext","DController","DGet","DPost","URL","sendRedirect","OAuth2EndSessionRequestValidator","readFromLocations","renderUIPage","LogoutController","options","endSessionService","validator","ctx","serve","event","handle","execute","merged","data","run","result","verify","serverRevoked","hintVerified","sessionId","sub","subKind","revoke","redirect","redirectUri","url","state","searchParams","set","href","requestURL","request","payload","config","baseURL","client","clientName","name","undefined","hintSub","hintSubKind","requestPath","pathname","search"],"sources":["../../../../../../src/adapters/http/controllers/workflows/logout/module.ts"],"sourcesContent":["/*\n * Copyright (c) 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 {\n DContext,\n DController,\n DGet,\n DPost,\n} from '@routup/decorators';\nimport { URL } from 'node:url';\nimport type { IAppEvent } from 'routup';\nimport { sendRedirect } from 'routup';\nimport type { IOAuth2EndSessionService, OAuth2EndSessionRequest } from '../../../../../core/index.ts';\nimport { OAuth2EndSessionRequestValidator } from '../../../../../core/index.ts';\nimport { readFromLocations } from '../../../request/index.ts';\nimport { renderUIPage } from '../../../ui/index.ts';\nimport type { LogoutControllerContext, LogoutControllerOptions } from './types.ts';\n\n@DController('/logout')\nexport class LogoutController {\n protected options: LogoutControllerOptions;\n\n protected endSessionService: IOAuth2EndSessionService;\n\n protected validator: OAuth2EndSessionRequestValidator;\n\n constructor(ctx: LogoutControllerContext) {\n this.options = ctx.options;\n this.endSessionService = ctx.endSessionService;\n this.validator = new OAuth2EndSessionRequestValidator();\n }\n\n @DGet('', [])\n async serve(@DContext() event: IAppEvent): Promise<string | Response> {\n return this.handle(event);\n }\n\n // OIDC RP-Initiated Logout allows form_post on the same endpoint.\n @DPost('', [])\n async execute(@DContext() event: IAppEvent): Promise<string | Response> {\n return this.handle(event);\n }\n\n protected async handle(event: IAppEvent): Promise<string | Response> {\n const merged = await readFromLocations(event, ['body', 'query']);\n\n // Malformed input (oversized / duplicated params) must never dead-end\n // the human behind the browser on a JSON error: fall back to a\n // parameter-less confirm page — every attacker-controlled value is\n // dropped, the click-gated sign-out keeps working.\n let data: OAuth2EndSessionRequest;\n try {\n data = await this.validator.run(merged);\n } catch {\n data = {};\n }\n\n const result = await this.endSessionService.verify(data);\n\n // A signature-verified id_token_hint proves possession — revoke the\n // referenced session server-side immediately (only if it belongs to the\n // hint's subject). Without a hint we mutate nothing; the SSR page's\n // sign-out is a click-gated, bearer-authenticated action.\n let serverRevoked = false;\n if (result.hintVerified && result.sessionId && result.sub && result.subKind) {\n serverRevoked = await this.endSessionService.revoke(\n result.sessionId,\n result.sub,\n result.subKind,\n );\n }\n\n // Build the validated post-logout redirect (the open-redirect guard\n // lives in the service; `state` rides only alongside a validated uri).\n let redirect: string | undefined;\n if (result.redirectUri) {\n const url = new URL(result.redirectUri);\n if (result.state) {\n url.searchParams.set('state', result.state);\n }\n\n redirect = url.href;\n }\n\n // Bounce straight back to the RP ONLY when the logout was actually\n // performed server-side (a verified hint revoked the session). A\n // hint-less or forged request MUST NOT silently redirect without ending\n // the session — otherwise the RP treats a no-op round-trip as a\n // successful logout while the authup session survives. Instead render\n // the click-gated confirm page, which performs the bearer-authenticated\n // sign-out and then redirects.\n if (serverRevoked && redirect) {\n return sendRedirect(event, redirect);\n }\n\n const requestURL = new URL(event.request.url);\n\n return renderUIPage(event, {\n url: '/logout',\n payload: {\n config: { baseURL: this.options.baseURL },\n data: {\n client: result.clientName ? { name: result.clientName } : undefined,\n hintVerified: result.hintVerified,\n // never reflect an unverified hint's claims\n hintSub: result.hintVerified ? result.sub : undefined,\n hintSubKind: result.hintVerified ? result.subKind : undefined,\n serverRevoked,\n // the (already validated) uri to return to after a click-gated\n // sign-out; carries `state` when present\n redirect,\n requestPath: `${requestURL.pathname}${requestURL.search}`,\n },\n },\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAaS,mBAAb,MAAaA;CACCC;CAEAC;CAEAC;CAEV,YAAYC,KAA8B;EACtC,KAAKH,UAAUG,IAAIH;EACnB,KAAKC,oBAAoBE,IAAIF;EAC7B,KAAKC,YAAY,IAAIN,iCAAAA;CACzB;CAEA,MACMQ,MAAM,OAA0D;EAClE,OAAO,KAAKE,OAAOD,KAAAA;CACvB;CAGA,MACME,QAAQ,OAA0D;EACpE,OAAO,KAAKD,OAAOD,KAAAA;CACvB;CAEA,MAAgBC,OAAOD,OAA8C;EACjE,MAAMG,SAAS,MAAMX,kBAAkBQ,OAAO,CAAC,QAAQ,OAAQ,CAAA;EAM/D,IAAII;EACJ,IAAI;GACAA,OAAO,MAAM,KAAKP,UAAUQ,IAAIF,MAAAA;EACpC,QAAQ;GACJC,OAAO,CAAC;EACZ;EAEA,MAAME,SAAS,MAAM,KAAKV,kBAAkBW,OAAOH,IAAAA;EAMnD,IAAII,gBAAgB;EACpB,IAAIF,OAAOG,gBAAgBH,OAAOI,aAAaJ,OAAOK,OAAOL,OAAOM,SAChEJ,gBAAgB,MAAM,KAAKZ,kBAAkBiB,OACzCP,OAAOI,WACPJ,OAAOK,KACPL,OAAOM,OAAO;EAMtB,IAAIE;EACJ,IAAIR,OAAOS,aAAa;GACpB,MAAMC,MAAM,IAAI3B,IAAIiB,OAAOS,WAAW;GACtC,IAAIT,OAAOW,OACPD,IAAIE,aAAaC,IAAI,SAASb,OAAOW,KAAK;GAG9CH,WAAWE,IAAII;EACnB;EASA,IAAIZ,iBAAiBM,UACjB,OAAOxB,aAAaU,OAAOc,QAAAA;EAG/B,MAAMO,aAAa,IAAIhC,IAAIW,MAAMsB,QAAQN,GAAG;EAE5C,OAAOvB,aAAaO,OAAO;GACvBgB,KAAK;GACLO,SAAS;IACLC,QAAQ,EAAEC,SAAS,KAAK9B,QAAQ8B,QAAQ;IACxCrB,MAAM;KACFsB,QAAQpB,OAAOqB,aAAa,EAAEC,MAAMtB,OAAOqB,WAAW,IAAIE,KAAAA;KAC1DpB,cAAcH,OAAOG;KAErBqB,SAASxB,OAAOG,eAAeH,OAAOK,MAAMkB,KAAAA;KAC5CE,aAAazB,OAAOG,eAAeH,OAAOM,UAAUiB,KAAAA;KACpDrB;KAGAM;KACAkB,aAAa,GAAGX,WAAWY,WAAWZ,WAAWa;IACrD;GACJ;EACJ,CAAA;CACJ;AACJ"}
@@ -13,8 +13,8 @@ function _ts_decorate(decorators, target, key, desc) {
13
13
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
14
  return c > 3 && r && Object.defineProperty(target, key, r), r;
15
15
  }
16
- function _ts_metadata(k, v) {
17
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
+ function _ts_metadata(metadataKey, metadataValue) {
17
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
18
18
  }
19
19
  function _ts_param(paramIndex, decorator) {
20
20
  return function(target, key) {
@@ -13,8 +13,8 @@ function _ts_decorate(decorators, target, key, desc) {
13
13
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
14
  return c > 3 && r && Object.defineProperty(target, key, r), r;
15
15
  }
16
- function _ts_metadata(k, v) {
17
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
+ function _ts_metadata(metadataKey, metadataValue) {
17
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
18
18
  }
19
19
  function _ts_param(paramIndex, decorator) {
20
20
  return function(target, key) {
@@ -11,8 +11,8 @@ function _ts_decorate(decorators, target, key, desc) {
11
11
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
12
  return c > 3 && r && Object.defineProperty(target, key, r), r;
13
13
  }
14
- function _ts_metadata(k, v) {
15
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
+ function _ts_metadata(metadataKey, metadataValue) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
16
16
  }
17
17
  function _ts_param(paramIndex, decorator) {
18
18
  return function(target, key) {
@@ -13,8 +13,8 @@ function _ts_decorate(decorators, target, key, desc) {
13
13
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
14
14
  return c > 3 && r && Object.defineProperty(target, key, r), r;
15
15
  }
16
- function _ts_metadata(k, v) {
17
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16
+ function _ts_metadata(metadataKey, metadataValue) {
17
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
18
18
  }
19
19
  function _ts_param(paramIndex, decorator) {
20
20
  return function(target, key) {
@@ -3,7 +3,7 @@ import "node:url";
3
3
  import.meta.url;
4
4
  import { PACKAGE_PATH } from "../../../../../path.mjs";
5
5
  import path from "node:path";
6
- import { load } from "locter";
6
+ import { read } from "locter";
7
7
  import { DController, DGet } from "@routup/decorators";
8
8
  //#region src/adapters/http/controllers/workflows/status/module.ts
9
9
  function _ts_decorate(decorators, target, key, desc) {
@@ -12,8 +12,8 @@ function _ts_decorate(decorators, target, key, desc) {
12
12
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
13
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
14
14
  }
15
- function _ts_metadata(k, v) {
16
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ function _ts_metadata(metadataKey, metadataValue) {
16
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
17
17
  }
18
18
  var StatusController = class {
19
19
  options;
@@ -22,7 +22,7 @@ var StatusController = class {
22
22
  this.options = ctx.options;
23
23
  }
24
24
  resolveVersion() {
25
- if (!this.versionPromise) this.versionPromise = load(path.join(PACKAGE_PATH, "package.json")).then((pkgJson) => pkgJson.version);
25
+ if (!this.versionPromise) this.versionPromise = read(path.join(PACKAGE_PATH, "package.json")).then((pkgJson) => pkgJson.version);
26
26
  return this.versionPromise;
27
27
  }
28
28
  async status() {
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DController","DGet","load","path","PACKAGE_PATH","StatusController","options","versionPromise","ctx","resolveVersion","join","then","pkgJson","version","status","date","Date","toISOString","features"],"sources":["../../../../../../src/adapters/http/controllers/workflows/status/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { StatusResponse, StatusResponseFeatures } from '@authup/core-http-kit';\nimport {\n DController,\n DGet,\n} from '@routup/decorators';\nimport { load } from 'locter';\nimport path from 'node:path';\nimport { PACKAGE_PATH } from '../../../../../path.ts';\n\nexport type StatusControllerOptions = {\n features: StatusResponseFeatures,\n};\n\nexport type StatusControllerContext = {\n options: StatusControllerOptions,\n};\n\n@DController('')\nexport class StatusController {\n protected options: StatusControllerOptions;\n\n // The version is constant for the process lifetime — read package.json\n // once and memoize instead of on every GET /.\n protected versionPromise: Promise<string> | undefined;\n\n constructor(ctx: StatusControllerContext) {\n this.options = ctx.options;\n }\n\n protected resolveVersion(): Promise<string> {\n if (!this.versionPromise) {\n this.versionPromise = load(path.join(PACKAGE_PATH, 'package.json'))\n .then((pkgJson) => pkgJson.version);\n }\n\n return this.versionPromise;\n }\n\n @DGet('/', [])\n async status(): Promise<StatusResponse> {\n return {\n version: await this.resolveVersion(),\n date: new Date().toISOString(),\n features: this.options.features,\n };\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAoBD,IAAaK,mBAAb,MAAaA;CACCC;CAIAC;CAEV,YAAYC,KAA8B;EACtC,KAAKF,UAAUE,IAAIF;CACvB;CAEUG,iBAAkC;EACxC,IAAI,CAAC,KAAKF,gBACN,KAAKA,iBAAiBL,KAAKC,KAAKO,KAAKN,cAAc,cAAA,CAAA,CAAA,CAC9CO,MAAMC,YAAYA,QAAQC,OAAO;EAG1C,OAAO,KAAKN;CAChB;CAEA,MACMO,SAAkC;EACpC,OAAO;GACHD,SAAS,MAAM,KAAKJ,eAAc;GAClCM,uBAAM,IAAIC,KAAAA,EAAAA,CAAOC,YAAW;GAC5BC,UAAU,KAAKZ,QAAQY;EAC3B;CACJ;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["DController","DGet","read","path","PACKAGE_PATH","StatusController","options","versionPromise","ctx","resolveVersion","join","then","pkgJson","version","status","date","Date","toISOString","features"],"sources":["../../../../../../src/adapters/http/controllers/workflows/status/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { StatusResponse, StatusResponseFeatures } from '@authup/core-http-kit';\nimport {\n DController,\n DGet,\n} from '@routup/decorators';\nimport { read } from 'locter';\nimport path from 'node:path';\nimport { PACKAGE_PATH } from '../../../../../path.ts';\n\nexport type StatusControllerOptions = {\n features: StatusResponseFeatures,\n};\n\nexport type StatusControllerContext = {\n options: StatusControllerOptions,\n};\n\n@DController('')\nexport class StatusController {\n protected options: StatusControllerOptions;\n\n // The version is constant for the process lifetime — read package.json\n // once and memoize instead of on every GET /.\n protected versionPromise: Promise<string> | undefined;\n\n constructor(ctx: StatusControllerContext) {\n this.options = ctx.options;\n }\n\n protected resolveVersion(): Promise<string> {\n if (!this.versionPromise) {\n this.versionPromise = read(path.join(PACKAGE_PATH, 'package.json'))\n .then((pkgJson: { version: string }) => pkgJson.version);\n }\n\n return this.versionPromise;\n }\n\n @DGet('/', [])\n async status(): Promise<StatusResponse> {\n return {\n version: await this.resolveVersion(),\n date: new Date().toISOString(),\n features: this.options.features,\n };\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAoBD,IAAaK,mBAAb,MAAaA;CACCC;CAIAC;CAEV,YAAYC,KAA8B;EACtC,KAAKF,UAAUE,IAAIF;CACvB;CAEUG,iBAAkC;EACxC,IAAI,CAAC,KAAKF,gBACN,KAAKA,iBAAiBL,KAAKC,KAAKO,KAAKN,cAAc,cAAA,CAAA,CAAA,CAC9CO,MAAMC,YAAiCA,QAAQC,OAAO;EAG/D,OAAO,KAAKN;CAChB;CAEA,MACMO,SAAkC;EACpC,OAAO;GACHD,SAAS,MAAM,KAAKJ,eAAc;GAClCM,uBAAM,IAAIC,KAAAA,EAAAA,CAAOC,YAAW;GAC5BC,UAAU,KAAKZ,QAAQY;EAC3B;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/token/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gCAAgC,EAAyB,MAAM,eAAe,CAAC;AACvH,OAAO,EAA4C,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQ3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAWnE,qBAEa,eAAe;IACxB,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAEjD,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEhD,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAE9C,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE5C,SAAS,CAAC,gBAAgB,EAAG,iBAAiB,CAAC;IAE/C,SAAS,CAAC,0BAA0B,EAAG,2BAA2B,CAAC;IAEnE,SAAS,CAAC,OAAO,CAAC,EAAG,gBAAgB,CAAC;IAEtC,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC,GAAG,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAI5D,GAAG,EAAE,sBAAsB;IAqEjC,aAAa,CAAa,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAKtF,cAAc,CACJ,KAAK,EAAE,SAAS,GAC7B,OAAO,CAAC,gCAAgC,CAAC;IA4DtC,WAAW,CACD,KAAK,EAAE,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC;IA+BV,WAAW,CAAa,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAiBrF"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/token/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gCAAgC,EAAyB,MAAM,eAAe,CAAC;AACvH,OAAO,EAA4C,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQ3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGxC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAUnE,qBAEa,eAAe;IACxB,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAEjD,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEhD,SAAS,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAE9C,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAE5C,SAAS,CAAC,gBAAgB,EAAG,iBAAiB,CAAC;IAE/C,SAAS,CAAC,0BAA0B,EAAG,2BAA2B,CAAC;IAEnE,SAAS,CAAC,OAAO,CAAC,EAAG,gBAAgB,CAAC;IAEtC,SAAS,CAAC,WAAW,EAAG,MAAM,CAAC,GAAG,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAI5D,GAAG,EAAE,sBAAsB;IAgEjC,aAAa,CAAa,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAKtF,cAAc,CACJ,KAAK,EAAE,SAAS,GAC7B,OAAO,CAAC,gCAAgC,CAAC;IA4DtC,WAAW,CACD,KAAK,EAAE,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC;IA+BV,WAAW,CAAa,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAiBrF"}
@@ -8,7 +8,6 @@ import { HTTPOAuth2AuthorizeGrant } from "../../../adapters/oauth2/grant-types/a
8
8
  import { HTTPClientCredentialsGrant } from "../../../adapters/oauth2/grant-types/client-credentials.mjs";
9
9
  import { HTTPPasswordGrant } from "../../../adapters/oauth2/grant-types/password.mjs";
10
10
  import { HTTPOAuth2RefreshTokenGrant } from "../../../adapters/oauth2/grant-types/refresh_token.mjs";
11
- import { HTTPRobotCredentialsGrant } from "../../../adapters/oauth2/grant-types/robot-credentials.mjs";
12
11
  import "../../../adapters/index.mjs";
13
12
  import { toOAuth2Error } from "../../../../../core/oauth2/helpers/error.mjs";
14
13
  import "../../../../../core/oauth2/helpers/index.mjs";
@@ -24,8 +23,8 @@ function _ts_decorate(decorators, target, key, desc) {
24
23
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
25
24
  return c > 3 && r && Object.defineProperty(target, key, r), r;
26
25
  }
27
- function _ts_metadata(k, v) {
28
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
26
+ function _ts_metadata(metadataKey, metadataValue) {
27
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
29
28
  }
30
29
  function _ts_param(paramIndex, decorator) {
31
30
  return function(target, key) {
@@ -68,11 +67,6 @@ var TokenController = class {
68
67
  sessionManager: ctx.sessionManager,
69
68
  certificateSource: ctx.certificateSource
70
69
  }),
71
- [OAuth2TokenGrant.ROBOT_CREDENTIALS]: new HTTPRobotCredentialsGrant({
72
- accessTokenIssuer: ctx.accessTokenIssuer,
73
- authenticator: ctx.robotAuthenticator,
74
- sessionManager: ctx.sessionManager
75
- }),
76
70
  [OAuth2TokenGrant.PASSWORD]: new HTTPPasswordGrant({
77
71
  accessTokenIssuer: ctx.accessTokenIssuer,
78
72
  refreshTokenIssuer: ctx.refreshTokenIssuer,
@@ -131,8 +125,8 @@ var TokenController = class {
131
125
  const key = buildPermissionKey(binding.permission);
132
126
  if (!acc[key]) acc[key] = {
133
127
  name: binding.permission.name,
134
- client_id: binding.permission.client_id,
135
- realm_id: binding.permission.realm_id
128
+ client_id: binding.permission.clientId,
129
+ realm_id: binding.permission.realmId
136
130
  };
137
131
  return acc;
138
132
  }, {})),
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["OAuth2GrantTypeError","OAuth2RequestError","OAuth2TokenGrant","DContext","DController","DGet","DPost","DTags","buildPermissionKey","toOAuth2Error","OAuth2OpenIDClaimsBuilder","HTTPClientCredentialsGrant","HTTPOAuth2AuthorizeGrant","HTTPOAuth2RefreshTokenGrant","HTTPPasswordGrant","HTTPRobotCredentialsGrant","guessOauth2GrantTypeByRequest","extractTokenFromRequest","TokenController","refreshTokenIssuer","accessTokenIssuer","tokenVerifier","tokenRevoker","identityResolver","identityPermissionProvider","metrics","tokenGrants","ctx","AUTHORIZATION_CODE","codeVerifier","clientAuthenticator","oauth2ClientAuthenticator","openIdTokenIssuer","keyStore","sessionManager","realmRepository","accessPolicyEvaluator","certificateSource","CLIENT_CREDENTIALS","ROBOT_CREDENTIALS","authenticator","robotAuthenticator","PASSWORD","userAuthenticator","eventService","loginThrottleService","userAuthenticatorService","mfaLoginService","logger","REFRESH_TOKEN","tokenRepository","sessionTokenRepository","options","gracePeriod","tokenRefreshGracePeriod","getIntrospect","event","postIntrospect","token","payload","verify","skipActiveCheck","sub","sub_kind","identityInvalid","permissions","getFor","id","type","clientId","client_id","realmId","realm_id","identity","resolve","claimsBuilder","claims","fromIdentity","active","jti","isInactive","Object","values","reduce","acc","binding","key","permission","name","e","revokeToken","ignoreExpiry","revoke","response","status","createToken","grantType","unsupported","grant","runWithRequest","recordTokenGrant"],"sources":["../../../../../../src/adapters/http/controllers/workflows/token/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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, OAuth2TokenIntrospectionResponse, OAuth2TokenPermission } from '@authup/specs';\nimport { OAuth2GrantTypeError, OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport {\n DContext,\n DController,\n DGet,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { buildPermissionKey } from '@authup/access';\nimport { toOAuth2Error } from '../../../../../core/oauth2/helpers/index.ts';\nimport type { TokenControllerContext } from './types.ts';\nimport type {\n IAuthFlowMetrics,\n IIdentityPermissionProvider,\n IIdentityResolver,\n IOAuth2TokenIssuer,\n IOAuth2TokenRevoker,\n IOAuth2TokenVerifier,\n} from '../../../../../core/index.ts';\nimport { OAuth2OpenIDClaimsBuilder } from '../../../../../core/index.ts';\nimport type { IHTTPOAuth2Grant } from '../../../adapters/index.ts';\nimport {\n HTTPClientCredentialsGrant,\n HTTPOAuth2AuthorizeGrant,\n HTTPOAuth2RefreshTokenGrant,\n HTTPPasswordGrant,\n HTTPRobotCredentialsGrant,\n guessOauth2GrantTypeByRequest,\n} from '../../../adapters/index.ts';\nimport { extractTokenFromRequest } from './utils/index.ts';\n\n@DTags('auth')\n@DController('/token')\nexport class TokenController {\n protected refreshTokenIssuer: IOAuth2TokenIssuer;\n\n protected accessTokenIssuer: IOAuth2TokenIssuer;\n\n protected tokenVerifier: IOAuth2TokenVerifier;\n\n protected tokenRevoker: IOAuth2TokenRevoker;\n\n protected identityResolver : IIdentityResolver;\n\n protected identityPermissionProvider : IIdentityPermissionProvider;\n\n protected metrics? : IAuthFlowMetrics;\n\n protected tokenGrants : Record<`${OAuth2TokenGrant}`, IHTTPOAuth2Grant>;\n\n // -------------------------------------------\n\n constructor(ctx: TokenControllerContext) {\n this.refreshTokenIssuer = ctx.refreshTokenIssuer;\n this.accessTokenIssuer = ctx.accessTokenIssuer;\n this.tokenVerifier = ctx.tokenVerifier;\n this.tokenRevoker = ctx.tokenRevoker;\n this.identityResolver = ctx.identityResolver;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.metrics = ctx.metrics;\n\n this.tokenGrants = {\n [OAuth2TokenGrant.AUTHORIZATION_CODE]: new HTTPOAuth2AuthorizeGrant({\n codeVerifier: ctx.codeVerifier,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n openIdTokenIssuer: ctx.openIdTokenIssuer,\n keyStore: ctx.keyStore,\n sessionManager: ctx.sessionManager,\n realmRepository: ctx.realmRepository,\n accessPolicyEvaluator: ctx.accessPolicyEvaluator,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.CLIENT_CREDENTIALS]: new HTTPClientCredentialsGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n sessionManager: ctx.sessionManager,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.ROBOT_CREDENTIALS]: new HTTPRobotCredentialsGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n authenticator: ctx.robotAuthenticator,\n sessionManager: ctx.sessionManager,\n }),\n [OAuth2TokenGrant.PASSWORD]: new HTTPPasswordGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n authenticator: ctx.userAuthenticator,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n sessionManager: ctx.sessionManager,\n realmRepository: ctx.realmRepository,\n eventService: ctx.eventService,\n metrics: ctx.metrics,\n loginThrottleService: ctx.loginThrottleService,\n userAuthenticatorService: ctx.userAuthenticatorService,\n mfaLoginService: ctx.mfaLoginService,\n logger: ctx.logger,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.REFRESH_TOKEN]: new HTTPOAuth2RefreshTokenGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n tokenVerifier: ctx.tokenVerifier,\n tokenRepository: ctx.tokenRepository,\n sessionTokenRepository: ctx.sessionTokenRepository,\n sessionManager: ctx.sessionManager,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n realmRepository: ctx.realmRepository,\n eventService: ctx.eventService,\n metrics: ctx.metrics,\n logger: ctx.logger,\n options: { gracePeriod: ctx.tokenRefreshGracePeriod },\n certificateSource: ctx.certificateSource,\n }),\n };\n }\n\n // -------------------------------------------\n\n @DGet('/introspect', [])\n async getIntrospect(@DContext() event: IAppEvent): Promise<OAuth2TokenIntrospectionResponse> {\n return this.postIntrospect(event);\n }\n\n @DPost('/introspect', [])\n async postIntrospect(\n @DContext() event: IAppEvent,\n ): Promise<OAuth2TokenIntrospectionResponse> {\n try {\n const token = await extractTokenFromRequest(event);\n const payload = await this.tokenVerifier.verify(token, { skipActiveCheck: true });\n if (!payload.sub || !payload.sub_kind) {\n throw OAuth2RequestError.identityInvalid();\n }\n\n // todo: only receive client specific permissions\n const permissions = await this.identityPermissionProvider.getFor({\n id: payload.sub,\n type: payload.sub_kind,\n clientId: payload.client_id,\n realmId: payload.realm_id,\n });\n\n const identity = await this.identityResolver.resolve(payload.sub_kind, payload.sub);\n if (!identity) {\n // todo: differentiate between client, robot & user\n throw OAuth2RequestError.identityInvalid();\n }\n\n const claimsBuilder = new OAuth2OpenIDClaimsBuilder();\n const claims = claimsBuilder.fromIdentity(identity);\n\n let active : boolean;\n if (payload.jti) {\n const isInactive = await this.tokenVerifier.isInactive(payload.jti);\n active = !isInactive;\n } else {\n active = false;\n }\n\n return {\n active,\n // todo: permissions property should be removed.\n permissions: Object.values(\n permissions.reduce((acc, binding) => {\n const key = buildPermissionKey(binding.permission);\n if (!acc[key]) {\n acc[key] = {\n name: binding.permission.name,\n client_id: binding.permission.client_id,\n realm_id: binding.permission.realm_id,\n } as OAuth2TokenPermission;\n }\n return acc;\n }, {} as Record<string, OAuth2TokenPermission>),\n ),\n ...payload,\n ...claims,\n };\n } catch (e) {\n throw toOAuth2Error(e);\n }\n }\n\n // ----------------------------------------------------------\n\n @DPost('/revoke', [])\n async revokeToken(\n @DContext() event: IAppEvent,\n ): Promise<null> {\n try {\n const token = await extractTokenFromRequest(event);\n\n // RFC 7009 §2.2: revoking an invalid token — here one that is expired\n // or already inactive — MUST still succeed. The client cannot act on\n // an error, and the token's invalidation (the point of the request)\n // is already achieved. Signature + kind still anchor the token, so a\n // forged/garbage token is rejected; `ignoreExpiry` additionally keeps\n // this exp-bypass out of the shared claims cache (see\n // OAuth2TokenVerifier). Without this, revoking a stale refresh token\n // threw `expired_token`, so the caller's revoke-then-clear-cookie\n // flow aborted, the durable row was never soft-revoked, and the stale\n // refresh cookie survived into the next login.\n const payload = await this.tokenVerifier.verify(token, {\n ignoreExpiry: true,\n skipActiveCheck: true,\n });\n\n await this.tokenRevoker.revoke(payload);\n\n event.response.status = 202;\n return null;\n } catch (e) {\n throw toOAuth2Error(e);\n }\n }\n\n // ----------------------------------------------------------\n\n @DPost('', [])\n async createToken(@DContext() event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const grantType = await guessOauth2GrantTypeByRequest(event);\n if (!grantType) {\n throw OAuth2GrantTypeError.unsupported();\n }\n\n const grant = this.tokenGrants[grantType];\n if (!grant) {\n throw OAuth2GrantTypeError.unsupported();\n }\n\n const response = await grant.runWithRequest(event);\n\n this.metrics?.recordTokenGrant(grantType);\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAqCD,IAAakB,kBAAb,MAAaA;CACCC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAIV,YAAYC,KAA6B;EACrC,KAAKR,qBAAqBQ,IAAIR;EAC9B,KAAKC,oBAAoBO,IAAIP;EAC7B,KAAKC,gBAAgBM,IAAIN;EACzB,KAAKC,eAAeK,IAAIL;EACxB,KAAKC,mBAAmBI,IAAIJ;EAC5B,KAAKC,6BAA6BG,IAAIH;EACtC,KAAKC,UAAUE,IAAIF;EAEnB,KAAKC,cAAc;IACdxB,iBAAiB0B,qBAAqB,IAAIhB,yBAAyB;IAChEiB,cAAcF,IAAIE;IAClBC,qBAAqBH,IAAII;IACzBX,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBa,mBAAmBL,IAAIK;IACvBC,UAAUN,IAAIM;IACdC,gBAAgBP,IAAIO;IACpBC,iBAAiBR,IAAIQ;IACrBC,uBAAuBT,IAAIS;IAC3BC,mBAAmBV,IAAIU;GAC3B,CAAA;IACCnC,iBAAiBoC,qBAAqB,IAAI3B,2BAA2B;IAClES,mBAAmBO,IAAIP;IACvBU,qBAAqBH,IAAII;IACzBG,gBAAgBP,IAAIO;IACpBG,mBAAmBV,IAAIU;GAC3B,CAAA;IACCnC,iBAAiBqC,oBAAoB,IAAIxB,0BAA0B;IAChEK,mBAAmBO,IAAIP;IACvBoB,eAAeb,IAAIc;IACnBP,gBAAgBP,IAAIO;GACxB,CAAA;IACChC,iBAAiBwC,WAAW,IAAI5B,kBAAkB;IAC/CM,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBqB,eAAeb,IAAIgB;IACnBb,qBAAqBH,IAAII;IACzBG,gBAAgBP,IAAIO;IACpBC,iBAAiBR,IAAIQ;IACrBS,cAAcjB,IAAIiB;IAClBnB,SAASE,IAAIF;IACboB,sBAAsBlB,IAAIkB;IAC1BC,0BAA0BnB,IAAImB;IAC9BC,iBAAiBpB,IAAIoB;IACrBC,QAAQrB,IAAIqB;IACZX,mBAAmBV,IAAIU;GAC3B,CAAA;IACCnC,iBAAiB+C,gBAAgB,IAAIpC,4BAA4B;IAC9DO,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBE,eAAeM,IAAIN;IACnB6B,iBAAiBvB,IAAIuB;IACrBC,wBAAwBxB,IAAIwB;IAC5BjB,gBAAgBP,IAAIO;IACpBJ,qBAAqBH,IAAII;IACzBI,iBAAiBR,IAAIQ;IACrBS,cAAcjB,IAAIiB;IAClBnB,SAASE,IAAIF;IACbuB,QAAQrB,IAAIqB;IACZI,SAAS,EAAEC,aAAa1B,IAAI2B,wBAAwB;IACpDjB,mBAAmBV,IAAIU;GAC3B,CAAA;EACJ;CACJ;CAIA,MACMkB,cAAc,OAAyE;EACzF,OAAO,KAAKE,eAAeD,KAAAA;CAC/B;CAEA,MACMC,eACF,OACyC;EACzC,IAAI;GACA,MAAMC,QAAQ,MAAMzC,wBAAwBuC,KAAAA;GAC5C,MAAMG,UAAU,MAAM,KAAKtC,cAAcuC,OAAOF,OAAO,EAAEG,iBAAiB,KAAK,CAAA;GAC/E,IAAI,CAACF,QAAQG,OAAO,CAACH,QAAQI,UACzB,MAAM9D,mBAAmB+D,gBAAe;GAI5C,MAAMC,cAAc,MAAM,KAAKzC,2BAA2B0C,OAAO;IAC7DC,IAAIR,QAAQG;IACZM,MAAMT,QAAQI;IACdM,UAAUV,QAAQW;IAClBC,SAASZ,QAAQa;GACrB,CAAA;GAEA,MAAMC,WAAW,MAAM,KAAKlD,iBAAiBmD,QAAQf,QAAQI,UAAUJ,QAAQG,GAAG;GAClF,IAAI,CAACW,UAED,MAAMxE,mBAAmB+D,gBAAe;GAI5C,MAAMY,SAASD,IADWjE,0BACXiE,CAAAA,CAAcE,aAAaJ,QAAAA;GAE1C,IAAIK;GACJ,IAAInB,QAAQoB,KAERD,SAAS,CAACE,MADe,KAAK3D,cAAc2D,WAAWrB,QAAQoB,GAAG;QAGlED,SAAS;GAGb,OAAO;IACHA;IAEAb,aAAagB,OAAOC,OAChBjB,YAAYkB,QAAQC,KAAKC,YAAAA;KACrB,MAAMC,MAAM9E,mBAAmB6E,QAAQE,UAAU;KACjD,IAAI,CAACH,IAAIE,MACLF,IAAIE,OAAO;MACPE,MAAMH,QAAQE,WAAWC;MACzBlB,WAAWe,QAAQE,WAAWjB;MAC9BE,UAAUa,QAAQE,WAAWf;KACjC;KAEJ,OAAOY;IACX,GAAG,CAAC,CAAA,CAAA;IAER,GAAGzB;IACH,GAAGiB;GACP;EACJ,SAASa,GAAG;GACR,MAAMhF,cAAcgF,CAAAA;EACxB;CACJ;CAIA,MACMC,YACF,OACa;EACb,IAAI;GACA,MAAMhC,QAAQ,MAAMzC,wBAAwBuC,KAAAA;GAY5C,MAAMG,UAAU,MAAM,KAAKtC,cAAcuC,OAAOF,OAAO;IACnDiC,cAAc;IACd9B,iBAAiB;GACrB,CAAA;GAEA,MAAM,KAAKvC,aAAasE,OAAOjC,OAAAA;GAE/BH,MAAMqC,SAASC,SAAS;GACxB,OAAO;EACX,SAASL,GAAG;GACR,MAAMhF,cAAcgF,CAAAA;EACxB;CACJ;CAIA,MACMM,YAAY,OAAiE;EAC/E,MAAMC,YAAY,MAAMhF,8BAA8BwC,KAAAA;EACtD,IAAI,CAACwC,WACD,MAAMhG,qBAAqBiG,YAAW;EAG1C,MAAMC,QAAQ,KAAKxE,YAAYsE;EAC/B,IAAI,CAACE,OACD,MAAMlG,qBAAqBiG,YAAW;EAG1C,MAAMJ,WAAW,MAAMK,MAAMC,eAAe3C,KAAAA;EAE5C,KAAK/B,SAAS2E,iBAAiBJ,SAAAA;EAE/B,OAAOH;CACX;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["OAuth2GrantTypeError","OAuth2RequestError","OAuth2TokenGrant","DContext","DController","DGet","DPost","DTags","buildPermissionKey","toOAuth2Error","OAuth2OpenIDClaimsBuilder","HTTPClientCredentialsGrant","HTTPOAuth2AuthorizeGrant","HTTPOAuth2RefreshTokenGrant","HTTPPasswordGrant","guessOauth2GrantTypeByRequest","extractTokenFromRequest","TokenController","refreshTokenIssuer","accessTokenIssuer","tokenVerifier","tokenRevoker","identityResolver","identityPermissionProvider","metrics","tokenGrants","ctx","AUTHORIZATION_CODE","codeVerifier","clientAuthenticator","oauth2ClientAuthenticator","openIdTokenIssuer","keyStore","sessionManager","realmRepository","accessPolicyEvaluator","certificateSource","CLIENT_CREDENTIALS","PASSWORD","authenticator","userAuthenticator","eventService","loginThrottleService","userAuthenticatorService","mfaLoginService","logger","REFRESH_TOKEN","tokenRepository","sessionTokenRepository","options","gracePeriod","tokenRefreshGracePeriod","getIntrospect","event","postIntrospect","token","payload","verify","skipActiveCheck","sub","sub_kind","identityInvalid","permissions","getFor","id","type","clientId","client_id","realmId","realm_id","identity","resolve","claimsBuilder","claims","fromIdentity","active","jti","isInactive","Object","values","reduce","acc","binding","key","permission","name","e","revokeToken","ignoreExpiry","revoke","response","status","createToken","grantType","unsupported","grant","runWithRequest","recordTokenGrant"],"sources":["../../../../../../src/adapters/http/controllers/workflows/token/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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, OAuth2TokenIntrospectionResponse, OAuth2TokenPermission } from '@authup/specs';\nimport { OAuth2GrantTypeError, OAuth2RequestError, OAuth2TokenGrant } from '@authup/specs';\nimport {\n DContext,\n DController,\n DGet,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { buildPermissionKey } from '@authup/access';\nimport { toOAuth2Error } from '../../../../../core/oauth2/helpers/index.ts';\nimport type { TokenControllerContext } from './types.ts';\nimport type {\n IAuthFlowMetrics,\n IIdentityPermissionProvider,\n IIdentityResolver,\n IOAuth2TokenIssuer,\n IOAuth2TokenRevoker,\n IOAuth2TokenVerifier,\n} from '../../../../../core/index.ts';\nimport { OAuth2OpenIDClaimsBuilder } from '../../../../../core/index.ts';\nimport type { IHTTPOAuth2Grant } from '../../../adapters/index.ts';\nimport {\n HTTPClientCredentialsGrant,\n HTTPOAuth2AuthorizeGrant,\n HTTPOAuth2RefreshTokenGrant,\n HTTPPasswordGrant,\n guessOauth2GrantTypeByRequest,\n} from '../../../adapters/index.ts';\nimport { extractTokenFromRequest } from './utils/index.ts';\n\n@DTags('auth')\n@DController('/token')\nexport class TokenController {\n protected refreshTokenIssuer: IOAuth2TokenIssuer;\n\n protected accessTokenIssuer: IOAuth2TokenIssuer;\n\n protected tokenVerifier: IOAuth2TokenVerifier;\n\n protected tokenRevoker: IOAuth2TokenRevoker;\n\n protected identityResolver : IIdentityResolver;\n\n protected identityPermissionProvider : IIdentityPermissionProvider;\n\n protected metrics? : IAuthFlowMetrics;\n\n protected tokenGrants : Record<`${OAuth2TokenGrant}`, IHTTPOAuth2Grant>;\n\n // -------------------------------------------\n\n constructor(ctx: TokenControllerContext) {\n this.refreshTokenIssuer = ctx.refreshTokenIssuer;\n this.accessTokenIssuer = ctx.accessTokenIssuer;\n this.tokenVerifier = ctx.tokenVerifier;\n this.tokenRevoker = ctx.tokenRevoker;\n this.identityResolver = ctx.identityResolver;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.metrics = ctx.metrics;\n\n this.tokenGrants = {\n [OAuth2TokenGrant.AUTHORIZATION_CODE]: new HTTPOAuth2AuthorizeGrant({\n codeVerifier: ctx.codeVerifier,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n openIdTokenIssuer: ctx.openIdTokenIssuer,\n keyStore: ctx.keyStore,\n sessionManager: ctx.sessionManager,\n realmRepository: ctx.realmRepository,\n accessPolicyEvaluator: ctx.accessPolicyEvaluator,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.CLIENT_CREDENTIALS]: new HTTPClientCredentialsGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n sessionManager: ctx.sessionManager,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.PASSWORD]: new HTTPPasswordGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n authenticator: ctx.userAuthenticator,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n sessionManager: ctx.sessionManager,\n realmRepository: ctx.realmRepository,\n eventService: ctx.eventService,\n metrics: ctx.metrics,\n loginThrottleService: ctx.loginThrottleService,\n userAuthenticatorService: ctx.userAuthenticatorService,\n mfaLoginService: ctx.mfaLoginService,\n logger: ctx.logger,\n certificateSource: ctx.certificateSource,\n }),\n [OAuth2TokenGrant.REFRESH_TOKEN]: new HTTPOAuth2RefreshTokenGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n tokenVerifier: ctx.tokenVerifier,\n tokenRepository: ctx.tokenRepository,\n sessionTokenRepository: ctx.sessionTokenRepository,\n sessionManager: ctx.sessionManager,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n realmRepository: ctx.realmRepository,\n eventService: ctx.eventService,\n metrics: ctx.metrics,\n logger: ctx.logger,\n options: { gracePeriod: ctx.tokenRefreshGracePeriod },\n certificateSource: ctx.certificateSource,\n }),\n };\n }\n\n // -------------------------------------------\n\n @DGet('/introspect', [])\n async getIntrospect(@DContext() event: IAppEvent): Promise<OAuth2TokenIntrospectionResponse> {\n return this.postIntrospect(event);\n }\n\n @DPost('/introspect', [])\n async postIntrospect(\n @DContext() event: IAppEvent,\n ): Promise<OAuth2TokenIntrospectionResponse> {\n try {\n const token = await extractTokenFromRequest(event);\n const payload = await this.tokenVerifier.verify(token, { skipActiveCheck: true });\n if (!payload.sub || !payload.sub_kind) {\n throw OAuth2RequestError.identityInvalid();\n }\n\n // todo: only receive client specific permissions\n const permissions = await this.identityPermissionProvider.getFor({\n id: payload.sub,\n type: payload.sub_kind,\n clientId: payload.client_id,\n realmId: payload.realm_id,\n });\n\n const identity = await this.identityResolver.resolve(payload.sub_kind, payload.sub);\n if (!identity) {\n // todo: differentiate between client & user\n throw OAuth2RequestError.identityInvalid();\n }\n\n const claimsBuilder = new OAuth2OpenIDClaimsBuilder();\n const claims = claimsBuilder.fromIdentity(identity);\n\n let active : boolean;\n if (payload.jti) {\n const isInactive = await this.tokenVerifier.isInactive(payload.jti);\n active = !isInactive;\n } else {\n active = false;\n }\n\n return {\n active,\n // todo: permissions property should be removed.\n permissions: Object.values(\n permissions.reduce((acc, binding) => {\n const key = buildPermissionKey(binding.permission);\n if (!acc[key]) {\n acc[key] = {\n name: binding.permission.name,\n client_id: binding.permission.clientId,\n realm_id: binding.permission.realmId,\n } as OAuth2TokenPermission;\n }\n return acc;\n }, {} as Record<string, OAuth2TokenPermission>),\n ),\n ...payload,\n ...claims,\n };\n } catch (e) {\n throw toOAuth2Error(e);\n }\n }\n\n // ----------------------------------------------------------\n\n @DPost('/revoke', [])\n async revokeToken(\n @DContext() event: IAppEvent,\n ): Promise<null> {\n try {\n const token = await extractTokenFromRequest(event);\n\n // RFC 7009 §2.2: revoking an invalid token — here one that is expired\n // or already inactive — MUST still succeed. The client cannot act on\n // an error, and the token's invalidation (the point of the request)\n // is already achieved. Signature + kind still anchor the token, so a\n // forged/garbage token is rejected; `ignoreExpiry` additionally keeps\n // this exp-bypass out of the shared claims cache (see\n // OAuth2TokenVerifier). Without this, revoking a stale refresh token\n // threw `expired_token`, so the caller's revoke-then-clear-cookie\n // flow aborted, the durable row was never soft-revoked, and the stale\n // refresh cookie survived into the next login.\n const payload = await this.tokenVerifier.verify(token, {\n ignoreExpiry: true,\n skipActiveCheck: true,\n });\n\n await this.tokenRevoker.revoke(payload);\n\n event.response.status = 202;\n return null;\n } catch (e) {\n throw toOAuth2Error(e);\n }\n }\n\n // ----------------------------------------------------------\n\n @DPost('', [])\n async createToken(@DContext() event: IAppEvent): Promise<OAuth2TokenGrantResponse> {\n const grantType = await guessOauth2GrantTypeByRequest(event);\n if (!grantType) {\n throw OAuth2GrantTypeError.unsupported();\n }\n\n const grant = this.tokenGrants[grantType];\n if (!grant) {\n throw OAuth2GrantTypeError.unsupported();\n }\n\n const response = await grant.runWithRequest(event);\n\n this.metrics?.recordTokenGrant(grantType);\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAoCD,IAAaiB,kBAAb,MAAaA;CACCC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAIV,YAAYC,KAA6B;EACrC,KAAKR,qBAAqBQ,IAAIR;EAC9B,KAAKC,oBAAoBO,IAAIP;EAC7B,KAAKC,gBAAgBM,IAAIN;EACzB,KAAKC,eAAeK,IAAIL;EACxB,KAAKC,mBAAmBI,IAAIJ;EAC5B,KAAKC,6BAA6BG,IAAIH;EACtC,KAAKC,UAAUE,IAAIF;EAEnB,KAAKC,cAAc;IACdvB,iBAAiByB,qBAAqB,IAAIf,yBAAyB;IAChEgB,cAAcF,IAAIE;IAClBC,qBAAqBH,IAAII;IACzBX,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBa,mBAAmBL,IAAIK;IACvBC,UAAUN,IAAIM;IACdC,gBAAgBP,IAAIO;IACpBC,iBAAiBR,IAAIQ;IACrBC,uBAAuBT,IAAIS;IAC3BC,mBAAmBV,IAAIU;GAC3B,CAAA;IACClC,iBAAiBmC,qBAAqB,IAAI1B,2BAA2B;IAClEQ,mBAAmBO,IAAIP;IACvBU,qBAAqBH,IAAII;IACzBG,gBAAgBP,IAAIO;IACpBG,mBAAmBV,IAAIU;GAC3B,CAAA;IACClC,iBAAiBoC,WAAW,IAAIxB,kBAAkB;IAC/CK,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBqB,eAAeb,IAAIc;IACnBX,qBAAqBH,IAAII;IACzBG,gBAAgBP,IAAIO;IACpBC,iBAAiBR,IAAIQ;IACrBO,cAAcf,IAAIe;IAClBjB,SAASE,IAAIF;IACbkB,sBAAsBhB,IAAIgB;IAC1BC,0BAA0BjB,IAAIiB;IAC9BC,iBAAiBlB,IAAIkB;IACrBC,QAAQnB,IAAImB;IACZT,mBAAmBV,IAAIU;GAC3B,CAAA;IACClC,iBAAiB4C,gBAAgB,IAAIjC,4BAA4B;IAC9DM,mBAAmBO,IAAIP;IACvBD,oBAAoBQ,IAAIR;IACxBE,eAAeM,IAAIN;IACnB2B,iBAAiBrB,IAAIqB;IACrBC,wBAAwBtB,IAAIsB;IAC5Bf,gBAAgBP,IAAIO;IACpBJ,qBAAqBH,IAAII;IACzBI,iBAAiBR,IAAIQ;IACrBO,cAAcf,IAAIe;IAClBjB,SAASE,IAAIF;IACbqB,QAAQnB,IAAImB;IACZI,SAAS,EAAEC,aAAaxB,IAAIyB,wBAAwB;IACpDf,mBAAmBV,IAAIU;GAC3B,CAAA;EACJ;CACJ;CAIA,MACMgB,cAAc,OAAyE;EACzF,OAAO,KAAKE,eAAeD,KAAAA;CAC/B;CAEA,MACMC,eACF,OACyC;EACzC,IAAI;GACA,MAAMC,QAAQ,MAAMvC,wBAAwBqC,KAAAA;GAC5C,MAAMG,UAAU,MAAM,KAAKpC,cAAcqC,OAAOF,OAAO,EAAEG,iBAAiB,KAAK,CAAA;GAC/E,IAAI,CAACF,QAAQG,OAAO,CAACH,QAAQI,UACzB,MAAM3D,mBAAmB4D,gBAAe;GAI5C,MAAMC,cAAc,MAAM,KAAKvC,2BAA2BwC,OAAO;IAC7DC,IAAIR,QAAQG;IACZM,MAAMT,QAAQI;IACdM,UAAUV,QAAQW;IAClBC,SAASZ,QAAQa;GACrB,CAAA;GAEA,MAAMC,WAAW,MAAM,KAAKhD,iBAAiBiD,QAAQf,QAAQI,UAAUJ,QAAQG,GAAG;GAClF,IAAI,CAACW,UAED,MAAMrE,mBAAmB4D,gBAAe;GAI5C,MAAMY,SAASD,IADW9D,0BACX8D,CAAAA,CAAcE,aAAaJ,QAAAA;GAE1C,IAAIK;GACJ,IAAInB,QAAQoB,KAERD,SAAS,CAACE,MADe,KAAKzD,cAAcyD,WAAWrB,QAAQoB,GAAG;QAGlED,SAAS;GAGb,OAAO;IACHA;IAEAb,aAAagB,OAAOC,OAChBjB,YAAYkB,QAAQC,KAAKC,YAAAA;KACrB,MAAMC,MAAM3E,mBAAmB0E,QAAQE,UAAU;KACjD,IAAI,CAACH,IAAIE,MACLF,IAAIE,OAAO;MACPE,MAAMH,QAAQE,WAAWC;MACzBlB,WAAWe,QAAQE,WAAWlB;MAC9BG,UAAUa,QAAQE,WAAWhB;KACjC;KAEJ,OAAOa;IACX,GAAG,CAAC,CAAA,CAAA;IAER,GAAGzB;IACH,GAAGiB;GACP;EACJ,SAASa,GAAG;GACR,MAAM7E,cAAc6E,CAAAA;EACxB;CACJ;CAIA,MACMC,YACF,OACa;EACb,IAAI;GACA,MAAMhC,QAAQ,MAAMvC,wBAAwBqC,KAAAA;GAY5C,MAAMG,UAAU,MAAM,KAAKpC,cAAcqC,OAAOF,OAAO;IACnDiC,cAAc;IACd9B,iBAAiB;GACrB,CAAA;GAEA,MAAM,KAAKrC,aAAaoE,OAAOjC,OAAAA;GAE/BH,MAAMqC,SAASC,SAAS;GACxB,OAAO;EACX,SAASL,GAAG;GACR,MAAM7E,cAAc6E,CAAAA;EACxB;CACJ;CAIA,MACMM,YAAY,OAAiE;EAC/E,MAAMC,YAAY,MAAM9E,8BAA8BsC,KAAAA;EACtD,IAAI,CAACwC,WACD,MAAM7F,qBAAqB8F,YAAW;EAG1C,MAAMC,QAAQ,KAAKtE,YAAYoE;EAC/B,IAAI,CAACE,OACD,MAAM/F,qBAAqB8F,YAAW;EAG1C,MAAMJ,WAAW,MAAMK,MAAMC,eAAe3C,KAAAA;EAE5C,KAAK7B,SAASyE,iBAAiBJ,SAAAA;EAE/B,OAAOH;CACX;AACJ"}
@@ -1,4 +1,4 @@
1
- import type { Robot, User } from '@authup/core-kit';
1
+ import type { User } from '@authup/core-kit';
2
2
  import type { Logger } from '@authup/server-kit';
3
3
  import type { IAuthFlowMetrics, ICredentialsAuthenticator, IEventService, IIdentityPermissionProvider, IIdentityResolver, IKeyStore, ILoginThrottleService, IOAuth2AccessPolicyEvaluator, IOAuth2AuthorizationCodeVerifier, IOAuth2MfaLoginService, IOAuth2OpenIDTokenIssuer, IOAuth2TokenIssuer, IOAuth2TokenRepository, IOAuth2TokenRevoker, IOAuth2TokenVerifier, IRealmRepository, ISessionManager, ISessionTokenRepository, IUserAuthenticatorService, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';
4
4
  import type { CertificateSource } from '../../../request/index.ts';
@@ -23,7 +23,6 @@ export type TokenControllerContext = {
23
23
  sessionManager: ISessionManager;
24
24
  identityResolver: IIdentityResolver;
25
25
  identityPermissionProvider: IIdentityPermissionProvider;
26
- robotAuthenticator: ICredentialsAuthenticator<Robot>;
27
26
  userAuthenticator: ICredentialsAuthenticator<User>;
28
27
  oauth2ClientAuthenticator: OAuth2ClientAuthenticator;
29
28
  realmRepository: IRealmRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/token/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EACR,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACjC,YAAY,EAAE,gCAAgC,CAAC;IAE/C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,eAAe,EAAE,sBAAsB,CAAC;IACxC,sBAAsB,EAAE,uBAAuB,CAAC;IAEhD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;IACrD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;IAErD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,EAAE,eAAe,CAAC;IAEhC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,0BAA0B,EAAE,2BAA2B,CAAC;IAExD,kBAAkB,EAAE,yBAAyB,CAAC,KAAK,CAAC,CAAA;IACpD,iBAAiB,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAElD,yBAAyB,EAAE,yBAAyB,CAAA;IAEpD,eAAe,EAAE,gBAAgB,CAAC;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;CACxC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/token/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EACR,gBAAgB,EAChB,yBAAyB,EACzB,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACjC,YAAY,EAAE,gCAAgC,CAAC;IAE/C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,oBAAoB,CAAC;IACpC,YAAY,EAAE,mBAAmB,CAAC;IAClC,eAAe,EAAE,sBAAsB,CAAC;IACxC,sBAAsB,EAAE,uBAAuB,CAAC;IAEhD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;IACrD,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;IAErD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc,EAAE,eAAe,CAAC;IAEhC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,0BAA0B,EAAE,2BAA2B,CAAC;IAExD,iBAAiB,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAA;IAElD,yBAAyB,EAAE,yBAAyB,CAAA;IAEpD,eAAe,EAAE,gBAAgB,CAAC;IAClC,iBAAiB,EAAE,iBAAiB,CAAC;CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract.mjs","names":["ValidupError","buildErrorMessageForAttribute","defineIssueItem","isValidupError","readFromLocations","useRequestToken","TokenRequestValidator","extractTokenFromRequest","event","token","validator","data","run","e","path","message"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/token/utils/extract.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { IAppEvent } from 'routup';\nimport {\n ValidupError, \n buildErrorMessageForAttribute, \n defineIssueItem, \n isValidupError,\n} from 'validup';\nimport { readFromLocations, useRequestToken } from '../../../../request/index.ts';\nimport { TokenRequestValidator } from './validator.ts';\n\nexport async function extractTokenFromRequest(event: IAppEvent) : Promise<string> {\n let token : string | undefined;\n\n try {\n const validator = new TokenRequestValidator();\n const data = await validator.run(\n await readFromLocations(event, ['body', 'query', 'params']),\n );\n\n token = data.token;\n } catch (e) {\n if (!isValidupError(e)) {\n throw e;\n }\n token = useRequestToken(event);\n }\n\n if (!token) {\n throw new ValidupError([\n defineIssueItem({\n path: ['token'],\n message: buildErrorMessageForAttribute('token'),\n }),\n ]);\n }\n\n return token;\n}\n"],"mappings":";;;;;;;;;AAiBA,eAAsBO,wBAAwBC,OAAgB;CAC1D,IAAIC;CAEJ,IAAI;EAMAA,SAAQE,MAJWD,IADGJ,sBACHI,CAAAA,CAAUE,IACzB,MAAMR,kBAAkBI,OAAO;GAAC;GAAQ;GAAS;GAAS,CAAA,EAAA,CAGjDC;CACjB,SAASI,GAAG;EACR,IAAI,CAACV,eAAeU,CAAAA,GAChB,MAAMA;EAEVJ,QAAQJ,gBAAgBG,KAAAA;CAC5B;CAEA,IAAI,CAACC,OACD,MAAM,IAAIT,aAAa,CACnBE,gBAAgB;EACZY,MAAM,CAAC,OAAA;EACPC,SAASd,8BAA8B,OAAA;CAC3C,CAAA,CAAA,CACH;CAGL,OAAOQ;AACX"}
1
+ {"version":3,"file":"extract.mjs","names":["ValidupError","buildErrorMessageForAttribute","defineIssueItem","isValidupError","readFromLocations","useRequestToken","TokenRequestValidator","extractTokenFromRequest","event","token","validator","data","run","e","path","message"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/token/utils/extract.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\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 { IAppEvent } from 'routup';\nimport {\n ValidupError, \n buildErrorMessageForAttribute, \n defineIssueItem, \n isValidupError,\n} from 'validup';\nimport { readFromLocations, useRequestToken } from '../../../../request/index.ts';\nimport { TokenRequestValidator } from './validator.ts';\n\nexport async function extractTokenFromRequest(event: IAppEvent) : Promise<string> {\n let token : string | undefined;\n\n try {\n const validator = new TokenRequestValidator();\n const data = await validator.run(\n await readFromLocations(event, ['body', 'query', 'params']),\n );\n\n token = data.token;\n } catch (e) {\n if (!isValidupError(e)) {\n throw e;\n }\n token = useRequestToken(event);\n }\n\n if (!token) {\n throw new ValidupError([\n defineIssueItem({\n path: ['token'],\n message: buildErrorMessageForAttribute('token'),\n }),\n ]);\n }\n\n return token;\n}\n"],"mappings":";;;;;;;;;AAiBA,eAAsBO,wBAAwBC,OAAgB;CAC1D,IAAIC;CAEJ,IAAI;EAMAA,SAAQE,MAJWD,IADGJ,sBACHI,CAAAA,CAAUE,IACzB,MAAMR,kBAAkBI,OAAO;GAAC;GAAQ;GAAS;EAAS,CAAA,CAAA,EAAA,CAGjDC;CACjB,SAASI,GAAG;EACR,IAAI,CAACV,eAAeU,CAAAA,GAChB,MAAMA;EAEVJ,QAAQJ,gBAAgBG,KAAAA;CAC5B;CAEA,IAAI,CAACC,OACD,MAAM,IAAIT,aAAa,CACnBE,gBAAgB;EACZY,MAAM,CAAC,OAAQ;EACfC,SAASd,8BAA8B,OAAA;CAC3C,CAAA,CACH,CAAA;CAGL,OAAOQ;AACX"}
@@ -45,7 +45,6 @@ import { HTTPClientCredentialsGrant } from "./adapters/oauth2/grant-types/client
45
45
  import { HTTPOAuth2IdentityGrantType } from "./adapters/oauth2/grant-types/identity.mjs";
46
46
  import { HTTPPasswordGrant } from "./adapters/oauth2/grant-types/password.mjs";
47
47
  import { HTTPOAuth2RefreshTokenGrant } from "./adapters/oauth2/grant-types/refresh_token.mjs";
48
- import { HTTPRobotCredentialsGrant } from "./adapters/oauth2/grant-types/robot-credentials.mjs";
49
48
  import "./adapters/index.mjs";
50
49
  import { ClientController } from "./controllers/entities/client/module.mjs";
51
50
  import { ClientPermissionController } from "./controllers/entities/client-permission/module.mjs";
@@ -74,11 +73,6 @@ import { RegisterController } from "./controllers/workflows/register/module.mjs"
74
73
  import { StatusController } from "./controllers/workflows/status/module.mjs";
75
74
  import { TokenController } from "./controllers/workflows/token/module.mjs";
76
75
  import { RealmController } from "./controllers/entities/realm/module.mjs";
77
- import { RobotController } from "./controllers/entities/robot/module.mjs";
78
- import { RobotPermissionController } from "./controllers/entities/robot-permission/module.mjs";
79
- import { RobotPermissionRequestValidator } from "./controllers/entities/robot-permission/utils/validation.mjs";
80
- import { RobotRoleController } from "./controllers/entities/robot-role/module.mjs";
81
- import { RobotRoleRequestValidator } from "./controllers/entities/robot-role/utils/validation.mjs";
82
76
  import { RoleController } from "./controllers/entities/role/module.mjs";
83
77
  import { RoleAttributeController } from "./controllers/entities/role-attribute/module.mjs";
84
78
  import { RoleAttributeRequestValidator } from "./controllers/entities/role-attribute/utils/validation.mjs";
@@ -99,4 +93,4 @@ import { UserPermissionRequestValidator } from "./controllers/entities/user-perm
99
93
  import { UserRoleController } from "./controllers/entities/user-role/module.mjs";
100
94
  import { UserRoleRequestValidator } from "./controllers/entities/user-role/utils/validation.mjs";
101
95
  import "./controllers/index.mjs";
102
- export { ActivateController, AuthenticatorChallengeController, AuthorizationMiddleware, AuthorizeController, CERTIFICATE_SOURCES, ClientController, ClientPermissionController, ClientPermissionRequestValidator, ClientRoleController, ClientRoleRequestValidator, ClientScopeController, ClientScopeRequestValidator, ConsentController, EventController, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, HTTPRobotCredentialsGrant, IdentityProviderController, IdentityProviderRoleMappingController, JwkController, KeyController, LOCALE_COOKIE, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, PermissionController, PermissionPolicyController, PolicyAttributesValidator, PolicyController, PolicyValidator, RealmController, RealmResolverMiddleware, RegisterController, RequestHandlerOperation, RequestIdentity, RequestPermissionEvaluator, RobotController, RobotPermissionController, RobotPermissionRequestValidator, RobotRoleController, RobotRoleRequestValidator, RoleAttributeController, RoleAttributeRequestValidator, RoleController, RolePermissionController, RolePermissionRequestValidator, ScopeController, SessionController, StatusController, TokenController, TrustAnchorController, UI_HTTP_CLIENT_FACTORY_STORE_KEY, UserAttributeController, UserAttributeRequestValidator, UserAuthenticatorController, UserController, UserPermissionController, UserPermissionRequestValidator, UserRoleController, UserRoleRequestValidator, VITE_SERVER_STORE_KEY, applyRouteRealmIDToBody, buildActorContext, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createRequestEventContextMiddleware, createRouteTemplateNormalizePath, createSwaggerMiddleware, extractClientCertificateEvidence, extractClientCredentialsFromRequest, extractOAuth2ClientCertificateEvidence, getBodyRealmID, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestRealmID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, readFromLocations, readRealmHint, readStringField, redactSensitiveURLParams, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, registerUIHttpClientMiddleware, runWithRequestEventContext, sanitizeRelativeRedirect, setRequestIdentity, setRequestMfaLoginTicket, setRequestPermissionEvaluator, setRequestRealmID, setRequestScopes, setRequestSessionId, setRequestToken, useRequestEventContext, useRequestIdentity, useRequestIdentityOrFail, useRequestLocale, useRequestMfaLoginTicket, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestSessionId, useRequestToken };
96
+ export { ActivateController, AuthenticatorChallengeController, AuthorizationMiddleware, AuthorizeController, CERTIFICATE_SOURCES, ClientController, ClientPermissionController, ClientPermissionRequestValidator, ClientRoleController, ClientRoleRequestValidator, ClientScopeController, ClientScopeRequestValidator, ConsentController, EventController, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, IdentityProviderController, IdentityProviderRoleMappingController, JwkController, KeyController, LOCALE_COOKIE, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, PermissionController, PermissionPolicyController, PolicyAttributesValidator, PolicyController, PolicyValidator, RealmController, RealmResolverMiddleware, RegisterController, RequestHandlerOperation, RequestIdentity, RequestPermissionEvaluator, RoleAttributeController, RoleAttributeRequestValidator, RoleController, RolePermissionController, RolePermissionRequestValidator, ScopeController, SessionController, StatusController, TokenController, TrustAnchorController, UI_HTTP_CLIENT_FACTORY_STORE_KEY, UserAttributeController, UserAttributeRequestValidator, UserAuthenticatorController, UserController, UserPermissionController, UserPermissionRequestValidator, UserRoleController, UserRoleRequestValidator, VITE_SERVER_STORE_KEY, applyRouteRealmIDToBody, buildActorContext, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createRequestEventContextMiddleware, createRouteTemplateNormalizePath, createSwaggerMiddleware, extractClientCertificateEvidence, extractClientCredentialsFromRequest, extractOAuth2ClientCertificateEvidence, getBodyRealmID, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestRealmID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, readFromLocations, readRealmHint, readStringField, redactSensitiveURLParams, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, registerUIHttpClientMiddleware, runWithRequestEventContext, sanitizeRelativeRedirect, setRequestIdentity, setRequestMfaLoginTicket, setRequestPermissionEvaluator, setRequestRealmID, setRequestScopes, setRequestSessionId, setRequestToken, useRequestEventContext, useRequestIdentity, useRequestIdentityOrFail, useRequestLocale, useRequestMfaLoginTicket, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestSessionId, useRequestToken };
@@ -6,7 +6,7 @@ import path from "node:path";
6
6
  import { defineCoreHandler } from "routup";
7
7
  import { CodeTransformation, isCodeTransformation } from "typeorm-extension";
8
8
  import { fromNodeMiddleware } from "routup/node";
9
- import { load } from "locter";
9
+ import { read } from "locter";
10
10
  import { createHandler } from "@routup/assets";
11
11
  //#region src/adapters/http/middleware/built-in/assets.ts
12
12
  const VITE_SERVER_STORE_KEY = Symbol("ViteServer");
@@ -22,7 +22,7 @@ async function registerAssetsMiddleware(router) {
22
22
  }));
23
23
  return;
24
24
  }
25
- const server = await (await load("vite")).createServer({
25
+ const server = await (await read("vite")).createServer({
26
26
  root: UI_SOURCE_PATH,
27
27
  base: "/public/",
28
28
  logLevel: "error",
@@ -1 +1 @@
1
- {"version":3,"file":"assets.mjs","names":["load","CodeTransformation","isCodeTransformation","createHandler","path","defineCoreHandler","fromNodeMiddleware","PACKAGE_PATH","UI_DIST_PATH","UI_SOURCE_PATH","VITE_SERVER_STORE_KEY","Symbol","registerAssetsMiddleware","router","JUST_IN_TIME","use","posix","join","fallthrough","scan","vite","server","createServer","root","base","logLevel","middlewareMode","watch","usePolling","interval","appType","middlewares","event","store","next"],"sources":["../../../../../src/adapters/http/middleware/built-in/assets.ts"],"sourcesContent":["/*\n * Copyright (c) 2023.\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 { load } from 'locter';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport { createHandler } from '@routup/assets';\nimport path from 'node:path';\nimport type { App } from 'routup';\nimport { defineCoreHandler } from 'routup';\nimport { fromNodeMiddleware } from 'routup/node';\nimport type * as Vite from 'vite';\nimport type { ViteDevServer } from 'vite';\nimport { PACKAGE_PATH, UI_DIST_PATH, UI_SOURCE_PATH } from '../../../../path.ts';\n\nexport const VITE_SERVER_STORE_KEY = Symbol('ViteServer');\n\nexport async function registerAssetsMiddleware(router: App) {\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n router.use('public', createHandler(\n path.posix.join(PACKAGE_PATH, 'public'),\n {\n fallthrough: true,\n scan: false,\n },\n ));\n\n router.use('public', createHandler(\n path.posix.join(UI_DIST_PATH, 'client'),\n {\n fallthrough: false,\n scan: false,\n },\n ));\n return;\n }\n\n const vite = await load('vite') as typeof Vite;\n\n const server: ViteDevServer = await vite.createServer({\n root: UI_SOURCE_PATH,\n base: '/public/',\n logLevel: 'error',\n server: {\n middlewareMode: true,\n watch: {\n usePolling: true,\n interval: 100,\n },\n },\n appType: 'custom',\n });\n\n router.use('public', fromNodeMiddleware(server.middlewares));\n router.use(defineCoreHandler((event) => {\n event.store[VITE_SERVER_STORE_KEY] = server;\n return event.next();\n }));\n}\n"],"mappings":";;;;;;;;;;;AAkBA,MAAaU,wBAAwBC,OAAO,YAAA;AAE5C,eAAsBC,yBAAyBC,QAAW;CACtD,IAAI,CAACX,qBAAqBD,mBAAmBa,YAAY,GAAG;EACxDD,OAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKV,cAAc,QAAA,GAC9B;GACIW,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAGJN,OAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKT,cAAc,QAAA,GAC9B;GACIU,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAEJ;CACJ;CAIA,MAAME,SAAwB,OAAMD,MAFjBpB,KAAK,MAAA,EAAA,CAEiBsB,aAAa;EAClDC,MAAMd;EACNe,MAAM;EACNC,UAAU;EACVJ,QAAQ;GACJK,gBAAgB;GAChBC,OAAO;IACHC,YAAY;IACZC,UAAU;GACd;EACJ;EACAC,SAAS;CACb,CAAA;CAEAjB,OAAOE,IAAI,UAAUT,mBAAmBe,OAAOU,WAAW,CAAA;CAC1DlB,OAAOE,IAAIV,mBAAmB2B,UAAAA;EAC1BA,MAAMC,MAAMvB,yBAAyBW;EACrC,OAAOW,MAAME,KAAI;CACrB,CAAA,CAAA;AACJ"}
1
+ {"version":3,"file":"assets.mjs","names":["read","CodeTransformation","isCodeTransformation","createHandler","path","defineCoreHandler","fromNodeMiddleware","PACKAGE_PATH","UI_DIST_PATH","UI_SOURCE_PATH","VITE_SERVER_STORE_KEY","Symbol","registerAssetsMiddleware","router","JUST_IN_TIME","use","posix","join","fallthrough","scan","vite","server","createServer","root","base","logLevel","middlewareMode","watch","usePolling","interval","appType","middlewares","event","store","next"],"sources":["../../../../../src/adapters/http/middleware/built-in/assets.ts"],"sourcesContent":["/*\n * Copyright (c) 2023.\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 { read } from 'locter';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport { createHandler } from '@routup/assets';\nimport path from 'node:path';\nimport type { App } from 'routup';\nimport { defineCoreHandler } from 'routup';\nimport { fromNodeMiddleware } from 'routup/node';\nimport type * as Vite from 'vite';\nimport type { ViteDevServer } from 'vite';\nimport { PACKAGE_PATH, UI_DIST_PATH, UI_SOURCE_PATH } from '../../../../path.ts';\n\nexport const VITE_SERVER_STORE_KEY = Symbol('ViteServer');\n\nexport async function registerAssetsMiddleware(router: App) {\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n router.use('public', createHandler(\n path.posix.join(PACKAGE_PATH, 'public'),\n {\n fallthrough: true,\n scan: false,\n },\n ));\n\n router.use('public', createHandler(\n path.posix.join(UI_DIST_PATH, 'client'),\n {\n fallthrough: false,\n scan: false,\n },\n ));\n return;\n }\n\n const vite = await read('vite') as typeof Vite;\n\n const server: ViteDevServer = await vite.createServer({\n root: UI_SOURCE_PATH,\n base: '/public/',\n logLevel: 'error',\n server: {\n middlewareMode: true,\n watch: {\n usePolling: true,\n interval: 100,\n },\n },\n appType: 'custom',\n });\n\n router.use('public', fromNodeMiddleware(server.middlewares));\n router.use(defineCoreHandler((event) => {\n event.store[VITE_SERVER_STORE_KEY] = server;\n return event.next();\n }));\n}\n"],"mappings":";;;;;;;;;;;AAkBA,MAAaU,wBAAwBC,OAAO,YAAA;AAE5C,eAAsBC,yBAAyBC,QAAW;CACtD,IAAI,CAACX,qBAAqBD,mBAAmBa,YAAY,GAAG;EACxDD,OAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKV,cAAc,QAAA,GAC9B;GACIW,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAGJN,OAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKT,cAAc,QAAA,GAC9B;GACIU,aAAa;GACbC,MAAM;EACV,CAAA,CAAA;EAEJ;CACJ;CAIA,MAAME,SAAwB,OAAMD,MAFjBpB,KAAK,MAAA,EAAA,CAEiBsB,aAAa;EAClDC,MAAMd;EACNe,MAAM;EACNC,UAAU;EACVJ,QAAQ;GACJK,gBAAgB;GAChBC,OAAO;IACHC,YAAY;IACZC,UAAU;GACd;EACJ;EACAC,SAAS;CACb,CAAA;CAEAjB,OAAOE,IAAI,UAAUT,mBAAmBe,OAAOU,WAAW,CAAA;CAC1DlB,OAAOE,IAAIV,mBAAmB2B,UAAAA;EAC1BA,MAAMC,MAAMvB,yBAAyBW;EACrC,OAAOW,MAAME,KAAI;CACrB,CAAA,CAAA;AACJ"}
@@ -1,5 +1,5 @@
1
1
  import type { IPermissionEvaluator } from '@authup/access';
2
- import type { Client, Robot, User } from '@authup/core-kit';
2
+ import type { Client, User } from '@authup/core-kit';
3
3
  import type { OAuth2TokenPayload } from '@authup/specs';
4
4
  import type { IAppEvent } from 'routup';
5
5
  import { type BasicAuthorizationHeader, type BearerAuthorizationHeader } from 'hapic';
@@ -12,7 +12,6 @@ export declare class AuthorizationMiddleware {
12
12
  protected identityResolver: IIdentityResolver;
13
13
  protected sessionManager: ISessionManager;
14
14
  protected clientAuthenticator: ICredentialsAuthenticator<Client>;
15
- protected robotAuthenticator: ICredentialsAuthenticator<Robot>;
16
15
  protected userAuthenticator: ICredentialsAuthenticator<User>;
17
16
  constructor(ctx: HTTPAuthorizationMiddlewareContext);
18
17
  run(event: IAppEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAM5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EACR,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EAClB,MAAM,8BAA8B,CAAC;AAYtC,OAAO,KAAK,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAEzG,qBAAa,uBAAuB;IAChC,SAAS,CAAC,OAAO,EAAE,kCAAkC,CAAC;IAItD,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEpD,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAIpD,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAG,eAAe,CAAC;IAI3C,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElE,SAAS,CAAC,kBAAkB,EAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAEhE,SAAS,CAAC,iBAAiB,EAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAIlD,GAAG,EAAE,kCAAkC;IAsB7C,GAAG,CAAC,KAAK,EAAE,SAAS;IA2B1B;;OAEG;cACa,+BAA+B,CAC3C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,yBAAyB;cAgErB,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtG;;;;;;;;;OASG;cACa,oBAAoB,CAChC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,kBAAkB;cAsDf,8BAA8B,CAC1C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB;CA+CvC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAMrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAEjC,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EACR,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EAClB,MAAM,8BAA8B,CAAC;AAYtC,OAAO,KAAK,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAEzG,qBAAa,uBAAuB;IAChC,SAAS,CAAC,OAAO,EAAE,kCAAkC,CAAC;IAItD,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEpD,SAAS,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAIpD,SAAS,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAG,eAAe,CAAC;IAI3C,SAAS,CAAC,mBAAmB,EAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAElE,SAAS,CAAC,iBAAiB,EAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAIlD,GAAG,EAAE,kCAAkC;IAqB7C,GAAG,CAAC,KAAK,EAAE,SAAS;IA2B1B;;OAEG;cACa,+BAA+B,CAC3C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,yBAAyB;cAgErB,wBAAwB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBtG;;;;;;;;;OASG;cACa,oBAAoB,CAChC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,kBAAkB;cAsDf,8BAA8B,CAC1C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,wBAAwB;CA+BvC"}