@authup/server-core 1.0.0-beta.56 → 1.0.0-beta.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
  2. package/dist/adapters/database/domains/role/entity.mjs +2 -1
  3. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  4. package/dist/adapters/database/logger/module.mjs +2 -4
  5. package/dist/adapters/database/logger/module.mjs.map +1 -1
  6. package/dist/adapters/database/migrations/mysql/1784970000000-RoleClientForeignKey.d.ts +25 -0
  7. package/dist/adapters/database/migrations/mysql/1784970000000-RoleClientForeignKey.d.ts.map +1 -0
  8. package/dist/adapters/database/migrations/mysql/1784970000000-RoleClientForeignKey.mjs +60 -0
  9. package/dist/adapters/database/migrations/mysql/1784970000000-RoleClientForeignKey.mjs.map +1 -0
  10. package/dist/adapters/database/migrations/postgres/1784970000000-RoleClientForeignKey.d.ts +25 -0
  11. package/dist/adapters/database/migrations/postgres/1784970000000-RoleClientForeignKey.d.ts.map +1 -0
  12. package/dist/adapters/database/migrations/postgres/1784970000000-RoleClientForeignKey.mjs +60 -0
  13. package/dist/adapters/database/migrations/postgres/1784970000000-RoleClientForeignKey.mjs.map +1 -0
  14. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +1 -1
  15. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  16. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
  17. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  18. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +1 -1
  19. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
  20. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
  21. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  22. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
  23. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  24. package/dist/adapters/http/controllers/entities/client/module.d.ts +6 -6
  25. package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
  26. package/dist/adapters/http/controllers/entities/client/module.mjs +30 -7
  27. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  28. package/dist/adapters/http/controllers/entities/client-permission/module.d.ts +5 -5
  29. package/dist/adapters/http/controllers/entities/client-permission/module.d.ts.map +1 -1
  30. package/dist/adapters/http/controllers/entities/client-permission/module.mjs +23 -5
  31. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  32. package/dist/adapters/http/controllers/entities/client-role/module.d.ts +4 -4
  33. package/dist/adapters/http/controllers/entities/client-role/module.d.ts.map +1 -1
  34. package/dist/adapters/http/controllers/entities/client-role/module.mjs +19 -4
  35. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  36. package/dist/adapters/http/controllers/entities/client-scope/module.d.ts +4 -4
  37. package/dist/adapters/http/controllers/entities/client-scope/module.d.ts.map +1 -1
  38. package/dist/adapters/http/controllers/entities/client-scope/module.mjs +19 -4
  39. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  40. package/dist/adapters/http/controllers/entities/consent/module.d.ts +3 -3
  41. package/dist/adapters/http/controllers/entities/consent/module.d.ts.map +1 -1
  42. package/dist/adapters/http/controllers/entities/consent/module.mjs +15 -3
  43. package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -1
  44. package/dist/adapters/http/controllers/entities/event/module.d.ts +2 -2
  45. package/dist/adapters/http/controllers/entities/event/module.d.ts.map +1 -1
  46. package/dist/adapters/http/controllers/entities/event/module.mjs +11 -2
  47. package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -1
  48. package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts +5 -5
  49. package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts.map +1 -1
  50. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +23 -5
  51. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  52. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +6 -6
  53. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  54. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +24 -8
  55. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  56. package/dist/adapters/http/controllers/entities/key/module.d.ts +5 -5
  57. package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
  58. package/dist/adapters/http/controllers/entities/key/module.mjs +23 -5
  59. package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
  60. package/dist/adapters/http/controllers/entities/permission/module.d.ts +6 -6
  61. package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
  62. package/dist/adapters/http/controllers/entities/permission/module.mjs +27 -6
  63. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  64. package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts +4 -4
  65. package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts.map +1 -1
  66. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +19 -4
  67. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  68. package/dist/adapters/http/controllers/entities/policy/module.d.ts +7 -7
  69. package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
  70. package/dist/adapters/http/controllers/entities/policy/module.mjs +27 -6
  71. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  72. package/dist/adapters/http/controllers/entities/realm/module.d.ts +6 -6
  73. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  74. package/dist/adapters/http/controllers/entities/realm/module.mjs +29 -8
  75. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  76. package/dist/adapters/http/controllers/entities/role/module.d.ts +6 -6
  77. package/dist/adapters/http/controllers/entities/role/module.d.ts.map +1 -1
  78. package/dist/adapters/http/controllers/entities/role/module.mjs +27 -6
  79. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  80. package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts +5 -5
  81. package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts.map +1 -1
  82. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +23 -5
  83. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  84. package/dist/adapters/http/controllers/entities/role-permission/module.d.ts +5 -5
  85. package/dist/adapters/http/controllers/entities/role-permission/module.d.ts.map +1 -1
  86. package/dist/adapters/http/controllers/entities/role-permission/module.mjs +23 -5
  87. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  88. package/dist/adapters/http/controllers/entities/scope/module.d.ts +6 -6
  89. package/dist/adapters/http/controllers/entities/scope/module.d.ts.map +1 -1
  90. package/dist/adapters/http/controllers/entities/scope/module.mjs +27 -6
  91. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  92. package/dist/adapters/http/controllers/entities/session/module.d.ts +3 -3
  93. package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -1
  94. package/dist/adapters/http/controllers/entities/session/module.mjs +15 -3
  95. package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
  96. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts +5 -5
  97. package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
  98. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +23 -5
  99. package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
  100. package/dist/adapters/http/controllers/entities/user/module.d.ts +6 -6
  101. package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
  102. package/dist/adapters/http/controllers/entities/user/module.mjs +27 -6
  103. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  104. package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts +5 -5
  105. package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts.map +1 -1
  106. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +23 -5
  107. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  108. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts +4 -4
  109. package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts.map +1 -1
  110. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +19 -4
  111. package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
  112. package/dist/adapters/http/controllers/entities/user-permission/module.d.ts +5 -5
  113. package/dist/adapters/http/controllers/entities/user-permission/module.d.ts.map +1 -1
  114. package/dist/adapters/http/controllers/entities/user-permission/module.mjs +23 -5
  115. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  116. package/dist/adapters/http/controllers/entities/user-role/module.d.ts +4 -4
  117. package/dist/adapters/http/controllers/entities/user-role/module.d.ts.map +1 -1
  118. package/dist/adapters/http/controllers/entities/user-role/module.mjs +19 -4
  119. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  120. package/dist/adapters/http/controllers/index.mjs +2 -1
  121. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +1 -1
  122. package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -1
  123. package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
  124. package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
  125. package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
  126. package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -1
  127. package/dist/adapters/http/controllers/workflows/logout/module.mjs +5 -1
  128. package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
  129. package/dist/adapters/http/controllers/workflows/userinfo/index.d.ts +2 -0
  130. package/dist/adapters/http/controllers/workflows/userinfo/index.d.ts.map +1 -0
  131. package/dist/adapters/http/controllers/workflows/userinfo/index.mjs +5 -0
  132. package/dist/adapters/http/controllers/workflows/userinfo/module.d.ts +18 -0
  133. package/dist/adapters/http/controllers/workflows/userinfo/module.d.ts.map +1 -0
  134. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs +53 -0
  135. package/dist/adapters/http/controllers/workflows/userinfo/module.mjs.map +1 -0
  136. package/dist/adapters/http/index.mjs +2 -1
  137. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -0
  138. package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
  139. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +10 -1
  140. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  141. package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
  142. package/dist/adapters/http/middleware/built-in/rate-limit.mjs +4 -2
  143. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  144. package/dist/adapters/http/request/client-certificate.mjs +1 -1
  145. package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
  146. package/dist/adapters/http/request/event-context.mjs +1 -1
  147. package/dist/adapters/http/request/event-context.mjs.map +1 -1
  148. package/dist/adapters/http/request/helpers/locations.mjs +1 -3
  149. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
  150. package/dist/app/factory.d.ts +2 -1
  151. package/dist/app/factory.d.ts.map +1 -1
  152. package/dist/app/factory.mjs +2 -2
  153. package/dist/app/factory.mjs.map +1 -1
  154. package/dist/app/index.d.ts +1 -0
  155. package/dist/app/index.d.ts.map +1 -1
  156. package/dist/app/index.mjs +5 -1
  157. package/dist/app/modules/authentication/module.mjs +6 -3
  158. package/dist/app/modules/authentication/module.mjs.map +1 -1
  159. package/dist/app/modules/authentication/repositories/session.mjs +2 -2
  160. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  161. package/dist/app/modules/components/module.d.ts +3 -0
  162. package/dist/app/modules/components/module.d.ts.map +1 -1
  163. package/dist/app/modules/components/module.mjs +17 -2
  164. package/dist/app/modules/components/module.mjs.map +1 -1
  165. package/dist/app/modules/config/constants.d.ts +1 -0
  166. package/dist/app/modules/config/constants.d.ts.map +1 -1
  167. package/dist/app/modules/config/constants.mjs +1 -0
  168. package/dist/app/modules/config/constants.mjs.map +1 -1
  169. package/dist/app/modules/config/helpers.d.ts +9 -0
  170. package/dist/app/modules/config/helpers.d.ts.map +1 -0
  171. package/dist/app/modules/config/helpers.mjs +22 -0
  172. package/dist/app/modules/config/helpers.mjs.map +1 -0
  173. package/dist/app/modules/config/index.d.ts +2 -0
  174. package/dist/app/modules/config/index.d.ts.map +1 -1
  175. package/dist/app/modules/config/index.mjs +6 -1
  176. package/dist/app/modules/config/module.d.ts.map +1 -1
  177. package/dist/app/modules/config/module.mjs +2 -7
  178. package/dist/app/modules/config/module.mjs.map +1 -1
  179. package/dist/app/modules/config/normalize.d.ts.map +1 -1
  180. package/dist/app/modules/config/normalize.mjs +4 -0
  181. package/dist/app/modules/config/normalize.mjs.map +1 -1
  182. package/dist/app/modules/config/read/env.d.ts.map +1 -1
  183. package/dist/app/modules/config/read/env.mjs +2 -0
  184. package/dist/app/modules/config/read/env.mjs.map +1 -1
  185. package/dist/app/modules/config/read/fs.d.ts.map +1 -1
  186. package/dist/app/modules/config/read/fs.mjs +31 -8
  187. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  188. package/dist/app/modules/config/read/module.mjs +8 -3
  189. package/dist/app/modules/config/read/module.mjs.map +1 -1
  190. package/dist/app/modules/config/trust-proxy.d.ts +28 -0
  191. package/dist/app/modules/config/trust-proxy.d.ts.map +1 -0
  192. package/dist/app/modules/config/trust-proxy.mjs +64 -0
  193. package/dist/app/modules/config/trust-proxy.mjs.map +1 -0
  194. package/dist/app/modules/config/types.d.ts +18 -0
  195. package/dist/app/modules/config/types.d.ts.map +1 -1
  196. package/dist/app/modules/config/validator.d.ts.map +1 -1
  197. package/dist/app/modules/config/validator.mjs +7 -0
  198. package/dist/app/modules/config/validator.mjs.map +1 -1
  199. package/dist/app/modules/database/module.mjs +2 -1
  200. package/dist/app/modules/database/module.mjs.map +1 -1
  201. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  202. package/dist/app/modules/database/repositories/client/repository.mjs +3 -4
  203. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  204. package/dist/app/modules/database/repositories/client-permission/repository.mjs +2 -2
  205. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  206. package/dist/app/modules/database/repositories/client-role/repository.mjs +2 -2
  207. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  208. package/dist/app/modules/database/repositories/client-scope/repository.mjs +2 -2
  209. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  210. package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
  211. package/dist/app/modules/database/repositories/event/repository.mjs +4 -3
  212. package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
  213. package/dist/app/modules/database/repositories/identity-provider/repository.mjs +2 -2
  214. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  215. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +2 -2
  216. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  217. package/dist/app/modules/database/repositories/key/repository.mjs +2 -2
  218. package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
  219. package/dist/app/modules/database/repositories/permission/repository.mjs +2 -2
  220. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  221. package/dist/app/modules/database/repositories/permission-policy/repository.mjs +2 -2
  222. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  223. package/dist/app/modules/database/repositories/policy/repository.mjs +2 -2
  224. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  225. package/dist/app/modules/database/repositories/query.d.ts +20 -0
  226. package/dist/app/modules/database/repositories/query.d.ts.map +1 -1
  227. package/dist/app/modules/database/repositories/query.mjs +26 -3
  228. package/dist/app/modules/database/repositories/query.mjs.map +1 -1
  229. package/dist/app/modules/database/repositories/realm/repository.mjs +2 -2
  230. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  231. package/dist/app/modules/database/repositories/role/repository.mjs +2 -2
  232. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  233. package/dist/app/modules/database/repositories/role-attribute/repository.mjs +2 -2
  234. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  235. package/dist/app/modules/database/repositories/role-permission/repository.mjs +2 -2
  236. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  237. package/dist/app/modules/database/repositories/schema-validation.d.ts +17 -3
  238. package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -1
  239. package/dist/app/modules/database/repositories/schema-validation.mjs +29 -5
  240. package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -1
  241. package/dist/app/modules/database/repositories/scope/repository.mjs +2 -2
  242. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  243. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +2 -2
  244. package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
  245. package/dist/app/modules/database/repositories/user/repository.mjs +2 -2
  246. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  247. package/dist/app/modules/database/repositories/user-attribute/repository.mjs +2 -2
  248. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  249. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +2 -2
  250. package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
  251. package/dist/app/modules/database/repositories/user-permission/repository.mjs +2 -2
  252. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  253. package/dist/app/modules/database/repositories/user-role/repository.mjs +2 -2
  254. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  255. package/dist/app/modules/http/constants.d.ts +2 -13
  256. package/dist/app/modules/http/constants.d.ts.map +1 -1
  257. package/dist/app/modules/http/constants.mjs.map +1 -1
  258. package/dist/app/modules/http/module.d.ts.map +1 -1
  259. package/dist/app/modules/http/module.mjs +7 -1
  260. package/dist/app/modules/http/module.mjs.map +1 -1
  261. package/dist/app/modules/http/modules/controller.d.ts +4 -2
  262. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  263. package/dist/app/modules/http/modules/controller.mjs +208 -124
  264. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  265. package/dist/app/modules/http/modules/middleware.mjs +10 -5
  266. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  267. package/dist/app/modules/identity/module.mjs +6 -3
  268. package/dist/app/modules/identity/module.mjs.map +1 -1
  269. package/dist/app/modules/index.mjs +5 -1
  270. package/dist/app/modules/oauth2/module.mjs +37 -17
  271. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  272. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs +1 -1
  273. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  274. package/dist/app/modules/oauth2/repositories/consent/repository.mjs +2 -2
  275. package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
  276. package/dist/app/modules/oauth2/repositories/token/repository.mjs +1 -1
  277. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  278. package/dist/app/modules/provisioning/module.d.ts.map +1 -1
  279. package/dist/app/modules/provisioning/module.mjs +21 -12
  280. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  281. package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
  282. package/dist/app/modules/provisioning/sources/file/module.mjs +11 -2
  283. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  284. package/dist/app/types.d.ts +5 -0
  285. package/dist/app/types.d.ts.map +1 -0
  286. package/dist/app/types.mjs +4 -0
  287. package/dist/cli/commands/healthcheck.d.ts +2 -1
  288. package/dist/cli/commands/healthcheck.d.ts.map +1 -1
  289. package/dist/cli/commands/healthcheck.mjs +3 -2
  290. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  291. package/dist/cli/commands/index.d.ts +0 -1
  292. package/dist/cli/commands/index.d.ts.map +1 -1
  293. package/dist/cli/commands/index.mjs +1 -2
  294. package/dist/cli/commands/migration.d.ts +2 -1
  295. package/dist/cli/commands/migration.d.ts.map +1 -1
  296. package/dist/cli/commands/migration.mjs +3 -2
  297. package/dist/cli/commands/migration.mjs.map +1 -1
  298. package/dist/cli/commands/start.d.ts +2 -1
  299. package/dist/cli/commands/start.d.ts.map +1 -1
  300. package/dist/cli/commands/start.mjs +3 -2
  301. package/dist/cli/commands/start.mjs.map +1 -1
  302. package/dist/cli/config.d.ts +18 -0
  303. package/dist/cli/config.d.ts.map +1 -0
  304. package/dist/cli/config.mjs +34 -0
  305. package/dist/cli/config.mjs.map +1 -0
  306. package/dist/cli/module.d.ts +8 -8
  307. package/dist/cli/module.d.ts.map +1 -1
  308. package/dist/cli/module.mjs +8 -28
  309. package/dist/cli/module.mjs.map +1 -1
  310. package/dist/cli/types.d.ts +5 -0
  311. package/dist/cli/types.d.ts.map +1 -0
  312. package/dist/cli/types.mjs +4 -0
  313. package/dist/components/event-cleaner/module.d.ts.map +1 -1
  314. package/dist/components/event-cleaner/module.mjs +26 -14
  315. package/dist/components/event-cleaner/module.mjs.map +1 -1
  316. package/dist/components/index.d.ts +0 -1
  317. package/dist/components/index.d.ts.map +1 -1
  318. package/dist/components/index.mjs +1 -4
  319. package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
  320. package/dist/components/oauth2-cleaner/module.mjs +29 -17
  321. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  322. package/dist/components/types.d.ts +1 -0
  323. package/dist/components/types.d.ts.map +1 -1
  324. package/dist/core/authentication/login-throttle/service.d.ts.map +1 -1
  325. package/dist/core/authentication/login-throttle/service.mjs +2 -1
  326. package/dist/core/authentication/login-throttle/service.mjs.map +1 -1
  327. package/dist/core/authentication/session/module.mjs +2 -4
  328. package/dist/core/authentication/session/module.mjs.map +1 -1
  329. package/dist/core/entities/client/constants.d.ts +10 -0
  330. package/dist/core/entities/client/constants.d.ts.map +1 -0
  331. package/dist/core/entities/client/constants.mjs +20 -0
  332. package/dist/core/entities/client/constants.mjs.map +1 -0
  333. package/dist/core/entities/client/index.d.ts +1 -0
  334. package/dist/core/entities/client/index.d.ts.map +1 -1
  335. package/dist/core/entities/client/index.mjs +3 -2
  336. package/dist/core/entities/client/schema.d.ts.map +1 -1
  337. package/dist/core/entities/client/schema.mjs +40 -3
  338. package/dist/core/entities/client/schema.mjs.map +1 -1
  339. package/dist/core/entities/client/service.d.ts.map +1 -1
  340. package/dist/core/entities/client/service.mjs +9 -61
  341. package/dist/core/entities/client/service.mjs.map +1 -1
  342. package/dist/core/entities/client/web-client.d.ts +39 -3
  343. package/dist/core/entities/client/web-client.d.ts.map +1 -1
  344. package/dist/core/entities/client/web-client.mjs +68 -12
  345. package/dist/core/entities/client/web-client.mjs.map +1 -1
  346. package/dist/core/entities/client-permission/service.mjs +12 -9
  347. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  348. package/dist/core/entities/client-scope/schema.d.ts.map +1 -1
  349. package/dist/core/entities/client-scope/schema.mjs +3 -1
  350. package/dist/core/entities/client-scope/schema.mjs.map +1 -1
  351. package/dist/core/entities/event/constants.d.ts +7 -0
  352. package/dist/core/entities/event/constants.d.ts.map +1 -1
  353. package/dist/core/entities/event/constants.mjs +7 -1
  354. package/dist/core/entities/event/constants.mjs.map +1 -1
  355. package/dist/core/entities/event/index.mjs +2 -2
  356. package/dist/core/entities/event/service.mjs +1 -1
  357. package/dist/core/entities/event/service.mjs.map +1 -1
  358. package/dist/core/entities/index.mjs +4 -3
  359. package/dist/core/entities/key/service.mjs +4 -2
  360. package/dist/core/entities/key/service.mjs.map +1 -1
  361. package/dist/core/entities/permission/service.d.ts.map +1 -1
  362. package/dist/core/entities/permission/service.mjs +1 -1
  363. package/dist/core/entities/permission/service.mjs.map +1 -1
  364. package/dist/core/entities/policy/service.d.ts.map +1 -1
  365. package/dist/core/entities/policy/service.mjs +3 -2
  366. package/dist/core/entities/policy/service.mjs.map +1 -1
  367. package/dist/core/entities/realm/service.d.ts.map +1 -1
  368. package/dist/core/entities/realm/service.mjs +1 -1
  369. package/dist/core/entities/realm/service.mjs.map +1 -1
  370. package/dist/core/entities/role/schema.d.ts.map +1 -1
  371. package/dist/core/entities/role/schema.mjs +4 -0
  372. package/dist/core/entities/role/schema.mjs.map +1 -1
  373. package/dist/core/entities/role/service.d.ts.map +1 -1
  374. package/dist/core/entities/role/service.mjs +1 -1
  375. package/dist/core/entities/role/service.mjs.map +1 -1
  376. package/dist/core/entities/role-permission/service.mjs +12 -9
  377. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  378. package/dist/core/entities/scope/service.d.ts.map +1 -1
  379. package/dist/core/entities/scope/service.mjs +1 -1
  380. package/dist/core/entities/scope/service.mjs.map +1 -1
  381. package/dist/core/entities/session/schema.d.ts.map +1 -1
  382. package/dist/core/entities/session/schema.mjs +2 -0
  383. package/dist/core/entities/session/schema.mjs.map +1 -1
  384. package/dist/core/entities/user/schema.d.ts.map +1 -1
  385. package/dist/core/entities/user/schema.mjs +2 -0
  386. package/dist/core/entities/user/schema.mjs.map +1 -1
  387. package/dist/core/entities/user/service.d.ts.map +1 -1
  388. package/dist/core/entities/user/service.mjs +1 -1
  389. package/dist/core/entities/user/service.mjs.map +1 -1
  390. package/dist/core/entities/user-authenticator/helpers.mjs +1 -1
  391. package/dist/core/entities/user-authenticator/helpers.mjs.map +1 -1
  392. package/dist/core/entities/user-authenticator/service.mjs +7 -7
  393. package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
  394. package/dist/core/entities/user-permission/service.mjs +12 -9
  395. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  396. package/dist/core/identity/password-recovery/check.mjs +4 -4
  397. package/dist/core/identity/password-recovery/check.mjs.map +1 -1
  398. package/dist/core/identity/password-recovery/service.mjs +1 -1
  399. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  400. package/dist/core/identity/registration/check.mjs +2 -2
  401. package/dist/core/identity/registration/check.mjs.map +1 -1
  402. package/dist/core/index.mjs +5 -3
  403. package/dist/core/key/check.mjs +2 -2
  404. package/dist/core/key/check.mjs.map +1 -1
  405. package/dist/core/provisioning/entities/client/relations-validator.d.ts.map +1 -1
  406. package/dist/core/provisioning/entities/client/relations-validator.mjs +2 -0
  407. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  408. package/dist/core/provisioning/entities/client/types.d.ts +8 -0
  409. package/dist/core/provisioning/entities/client/types.d.ts.map +1 -1
  410. package/dist/core/provisioning/synchronizer/client/module.d.ts +3 -1
  411. package/dist/core/provisioning/synchronizer/client/module.d.ts.map +1 -1
  412. package/dist/core/provisioning/synchronizer/client/module.mjs +10 -1
  413. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  414. package/dist/core/provisioning/synchronizer/client/types.d.ts +3 -1
  415. package/dist/core/provisioning/synchronizer/client/types.d.ts.map +1 -1
  416. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +4 -1
  417. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
  418. package/dist/core/provisioning/synchronizer/entity-resolver.mjs +14 -29
  419. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  420. package/dist/core/provisioning/synchronizer/index.d.ts +1 -0
  421. package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
  422. package/dist/core/provisioning/synchronizer/permission/module.mjs +0 -1
  423. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  424. package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
  425. package/dist/core/provisioning/synchronizer/realm/module.mjs +8 -9
  426. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  427. package/dist/core/provisioning/synchronizer/role/module.mjs +0 -1
  428. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  429. package/dist/core/provisioning/synchronizer/scope/module.mjs +0 -1
  430. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  431. package/dist/core/provisioning/synchronizer/types.d.ts +11 -0
  432. package/dist/core/provisioning/synchronizer/types.d.ts.map +1 -0
  433. package/dist/core/provisioning/synchronizer/types.mjs +4 -0
  434. package/dist/core/provisioning/synchronizer/user/module.mjs +0 -1
  435. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  436. package/dist/core/query/describe.d.ts +25 -0
  437. package/dist/core/query/describe.d.ts.map +1 -0
  438. package/dist/core/query/describe.mjs +50 -0
  439. package/dist/core/query/describe.mjs.map +1 -0
  440. package/dist/core/query/fields.d.ts +44 -0
  441. package/dist/core/query/fields.d.ts.map +1 -0
  442. package/dist/core/query/fields.mjs +46 -0
  443. package/dist/core/query/fields.mjs.map +1 -0
  444. package/dist/core/query/index.d.ts +1 -0
  445. package/dist/core/query/index.d.ts.map +1 -1
  446. package/dist/core/query/index.mjs +2 -1
  447. package/dist/core/query/module.d.ts +1 -1
  448. package/dist/core/query/module.mjs +1 -1
  449. package/dist/core/query/module.mjs.map +1 -1
  450. package/dist/index.mjs +6 -2
  451. package/dist/path.mjs.map +1 -1
  452. package/dist/swagger.json +1324 -193
  453. package/dist/ui/client/.vite/ssr-manifest.json +1030 -760
  454. package/dist/ui/client/assets/index-BTK3GPZZ.js +106 -0
  455. package/dist/ui/client/assets/index-Cx_pI7BS.css +2 -0
  456. package/dist/ui/client/index.html +2 -2
  457. package/dist/ui/server/server.js +4465 -11501
  458. package/package.json +51 -50
  459. package/dist/cli/commands/reset.d.ts +0 -2
  460. package/dist/cli/commands/reset.d.ts.map +0 -1
  461. package/dist/cli/commands/reset.mjs +0 -23
  462. package/dist/cli/commands/reset.mjs.map +0 -1
  463. package/dist/components/database/index.d.ts +0 -2
  464. package/dist/components/database/index.d.ts.map +0 -1
  465. package/dist/components/database/index.mjs +0 -7
  466. package/dist/components/database/unique-entries/factory.d.ts +0 -4
  467. package/dist/components/database/unique-entries/factory.d.ts.map +0 -1
  468. package/dist/components/database/unique-entries/factory.mjs +0 -12
  469. package/dist/components/database/unique-entries/factory.mjs.map +0 -1
  470. package/dist/components/database/unique-entries/index.d.ts +0 -3
  471. package/dist/components/database/unique-entries/index.d.ts.map +0 -1
  472. package/dist/components/database/unique-entries/index.mjs +0 -6
  473. package/dist/components/database/unique-entries/module.d.ts +0 -15
  474. package/dist/components/database/unique-entries/module.d.ts.map +0 -1
  475. package/dist/components/database/unique-entries/module.mjs +0 -69
  476. package/dist/components/database/unique-entries/module.mjs.map +0 -1
  477. package/dist/ui/client/assets/index-C05uGFDe.js +0 -131
  478. package/dist/ui/client/assets/index-CiHrf73J.css +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/http/module.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,qBAAa,UAAW,YAAW,OAAO;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAG,UAAU,GAAG,SAAS,CAAC;IAE5C,SAAS,CAAC,UAAU,EAAG,oBAAoB,CAAC;IAE5C,SAAS,CAAC,UAAU,EAAG,oBAAoB,CAAC;IAE5C,SAAS,CAAC,sBAAsB,EAAG,OAAO,CAAC;;IAYrC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCjD;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IA+B3D;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAehD,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAevD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/http/module.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAGhF,qBAAa,UAAW,YAAW,OAAO;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,SAAS,CAAC,QAAQ,EAAG,UAAU,GAAG,SAAS,CAAC;IAE5C,SAAS,CAAC,UAAU,EAAG,oBAAoB,CAAC;IAE5C,SAAS,CAAC,UAAU,EAAG,oBAAoB,CAAC;IAE5C,SAAS,CAAC,sBAAsB,EAAG,OAAO,CAAC;;IAYrC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDjD;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IA+B3D;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAehD,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAevD"}
@@ -17,6 +17,7 @@ import "../metrics/index.mjs";
17
17
  import { HTTPControllerModule } from "./modules/controller.mjs";
18
18
  import { HTTPMiddlewareModule } from "./modules/middleware.mjs";
19
19
  import "./modules/index.mjs";
20
+ import { AuthupError } from "@authup/errors";
20
21
  import { App } from "routup";
21
22
  import { Client } from "@authup/core-http-kit";
22
23
  import { serve } from "routup/node";
@@ -45,7 +46,12 @@ var HTTPModule = class {
45
46
  const config = container.resolve(ConfigInjectionKey);
46
47
  const logger = container.resolve(LoggerInjectionKey);
47
48
  logger.debug("Starting http server...");
48
- const router = new App();
49
+ let router;
50
+ try {
51
+ router = new App({ options: { trustProxy: config.trustProxy } });
52
+ } catch (e) {
53
+ throw new AuthupError(`Invalid trustProxy (TRUST_PROXY) configuration: ${e instanceof Error ? e.message : String(e)}`);
54
+ }
49
55
  this.registerUIHttpClient(container);
50
56
  this.registerMetrics(container);
51
57
  await this.middleware.mountBefore(router, container);
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["Client","App","serve","ConfigInjectionKey","createInternalUIHttpClient","NoopAuthFlowMetrics","ModuleName","HTTPInjectionKey","MetricsInjectionKey","PromAuthFlowMetrics","HTTPControllerModule","HTTPMiddlewareModule","LoggerInjectionKey","HTTPModule","name","dependencies","instance","middleware","controller","uiHttpClientRegistered","HTTP","CONFIG","LOGGER","AUTHENTICATION","IDENTITY","OAUTH2","setup","container","config","resolve","logger","debug","router","registerUIHttpClient","registerMetrics","mountBefore","mount","mountAfter","server","port","hostname","host","silent","gracefulShutdown","ready","url","register","Server","useValue","has","UIHttpClient","useFactory","c","undefined","publicURL","publicUrl","internalURL","baseURL","lifetime","enabled","middlewarePrometheus","teardown","unregister","close"],"sources":["../../../../src/app/modules/http/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { Client } from '@authup/core-http-kit';\nimport { App } from 'routup';\nimport { serve } from 'routup/node';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IModule } from 'orkos';\nimport { createInternalUIHttpClient } from '../../../adapters/http/ui/index.ts';\nimport { NoopAuthFlowMetrics } from '../../../core/index.ts';\nimport { ModuleName } from '../constants.ts';\nimport type { HTTPServer } from './constants.ts';\nimport { HTTPInjectionKey } from './constants.ts';\nimport type { IContainer } from 'eldin';\nimport { MetricsInjectionKey, PromAuthFlowMetrics } from '../metrics/index.ts';\nimport { HTTPControllerModule, HTTPMiddlewareModule } from './modules/index.ts';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport class HTTPModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected instance : HTTPServer | undefined;\n\n protected middleware : HTTPMiddlewareModule;\n\n protected controller : HTTPControllerModule;\n\n protected uiHttpClientRegistered : boolean;\n\n constructor() {\n this.name = ModuleName.HTTP;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER, ModuleName.AUTHENTICATION, ModuleName.IDENTITY, ModuleName.OAUTH2];\n this.controller = new HTTPControllerModule();\n this.middleware = new HTTPMiddlewareModule();\n this.uiHttpClientRegistered = false;\n }\n\n // ----------------------------------------------------\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Starting http server...');\n\n const router = new App();\n\n this.registerUIHttpClient(container);\n this.registerMetrics(container);\n\n await this.middleware.mountBefore(router, container);\n await this.controller.mount(router, container);\n await this.middleware.mountAfter(router, container);\n\n const server = serve(router, {\n port: config.port,\n hostname: config.host,\n silent: true,\n // Shutdown is driven by the orkos teardown chain (see cli/commands/start.ts);\n // srvx's plugin would only close the HTTP server, leaving DB / cache / etc. open.\n gracefulShutdown: false,\n });\n\n await server.ready();\n\n this.instance = server;\n\n if (server.url) {\n logger.debug(`Listening on ${server.url}`);\n }\n\n container.register(HTTPInjectionKey.Server, { useValue: server });\n\n logger.debug('Started http server.');\n }\n\n // ----------------------------------------------------\n\n /**\n * Default HTTP client for the SSR'd UI pages: dispatches against the\n * server's own listen address instead of round-tripping through the\n * reverse proxy at `publicUrl` (see `createInternalUIHttpClient`).\n * Skipped when the token is already bound (test injection wins).\n * Transient lifetime is mandatory — client-web-kit's authentication\n * hook writes per-user Authorization state onto the client.\n */\n protected registerUIHttpClient(container: IContainer): void {\n if (container.has(HTTPInjectionKey.UIHttpClient)) {\n return;\n }\n\n container.register(HTTPInjectionKey.UIHttpClient, {\n useFactory: (c) => {\n const config = c.resolve(ConfigInjectionKey);\n\n // The server token is registered after listen; a resolve can\n // only happen on a request, so it is present by then. The\n // guards keep an edge case on the previous (public URL)\n // dispatch behavior instead of failing the render.\n const server = c.has(HTTPInjectionKey.Server) ?\n c.resolve(HTTPInjectionKey.Server) :\n undefined;\n\n if (server && server.url) {\n return createInternalUIHttpClient({\n publicURL: config.publicUrl,\n internalURL: server.url,\n });\n }\n\n return new Client({ baseURL: config.publicUrl });\n },\n }, { lifetime: 'transient' });\n\n this.uiHttpClientRegistered = true;\n }\n\n /**\n * Auth-flow metric counters for the emit points (plan 058 Part 2).\n * Registered before the controllers are built — the factories resolve the\n * token. Prometheus-backed iff the prometheus middleware is enabled\n * (mirrors HTTPMiddlewareModule.isEnabled: boolean|object, false = off),\n * otherwise a noop so emit sites never need a guard beyond `?.`.\n */\n protected registerMetrics(container: IContainer): void {\n const config = container.resolve(ConfigInjectionKey);\n\n const enabled = typeof config.middlewarePrometheus !== 'boolean' ||\n config.middlewarePrometheus === true;\n\n container.register(MetricsInjectionKey, {\n useValue: enabled ?\n new PromAuthFlowMetrics() :\n new NoopAuthFlowMetrics(),\n });\n }\n\n // ----------------------------------------------------\n\n async teardown(container: IContainer): Promise<void> {\n if (this.uiHttpClientRegistered) {\n container.unregister(HTTPInjectionKey.UIHttpClient);\n this.uiHttpClientRegistered = false;\n }\n\n container.unregister(MetricsInjectionKey);\n\n if (!this.instance) return;\n\n container.unregister(HTTPInjectionKey.Server);\n\n await this.instance.close();\n this.instance = undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAaa,aAAb,MAAaA;CACAC;CAEAC;CAECC;CAEAC;CAEAC;CAEAC;CAEV,cAAc;EACV,KAAKL,OAAOR,WAAWc;EACvB,KAAKL,eAAe;GAACT,WAAWe;GAAQf,WAAWgB;GAAQhB,WAAWiB;GAAgBjB,WAAWkB;GAAUlB,WAAWmB;EAAO;EAC7H,KAAKP,aAAa,IAAIR,qBAAAA;EACtB,KAAKO,aAAa,IAAIN,qBAAAA;EACtB,KAAKQ,yBAAyB;CAClC;CAIA,MAAMO,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQ1B,kBAAAA;EACjC,MAAM2B,SAASH,UAAUE,QAAQjB,kBAAAA;EAEjCkB,OAAOC,MAAM,yBAAA;EAEb,MAAMC,SAAS,IAAI/B,IAAAA;EAEnB,KAAKgC,qBAAqBN,SAAAA;EAC1B,KAAKO,gBAAgBP,SAAAA;EAErB,MAAM,KAAKV,WAAWkB,YAAYH,QAAQL,SAAAA;EAC1C,MAAM,KAAKT,WAAWkB,MAAMJ,QAAQL,SAAAA;EACpC,MAAM,KAAKV,WAAWoB,WAAWL,QAAQL,SAAAA;EAEzC,MAAMW,SAASpC,MAAM8B,QAAQ;GACzBO,MAAMX,OAAOW;GACbC,UAAUZ,OAAOa;GACjBC,QAAQ;GAGRC,kBAAkB;EACtB,CAAA;EAEA,MAAML,OAAOM,MAAK;EAElB,KAAK5B,WAAWsB;EAEhB,IAAIA,OAAOO,KACPf,OAAOC,MAAM,gBAAgBO,OAAOO,KAAK;EAG7ClB,UAAUmB,SAASvC,iBAAiBwC,QAAQ,EAAEC,UAAUV,OAAO,CAAA;EAE/DR,OAAOC,MAAM,sBAAA;CACjB;;;;;;;;IAYA,qBAA+BJ,WAA6B;EACxD,IAAIA,UAAUsB,IAAI1C,iBAAiB2C,YAAY,GAC3C;EAGJvB,UAAUmB,SAASvC,iBAAiB2C,cAAc,EAC9CC,aAAaC,MAAAA;GACT,MAAMxB,SAASwB,EAAEvB,QAAQ1B,kBAAAA;GAMzB,MAAMmC,SAASc,EAAEH,IAAI1C,iBAAiBwC,MAAM,IACxCK,EAAEvB,QAAQtB,iBAAiBwC,MAAM,IACjCM,KAAAA;GAEJ,IAAIf,UAAUA,OAAOO,KACjB,OAAOzC,2BAA2B;IAC9BkD,WAAW1B,OAAO2B;IAClBC,aAAalB,OAAOO;GACxB,CAAA;GAGJ,OAAO,IAAI7C,OAAO,EAAEyD,SAAS7B,OAAO2B,UAAU,CAAA;EAClD,EACJ,GAAG,EAAEG,UAAU,YAAY,CAAA;EAE3B,KAAKvC,yBAAyB;CAClC;;;;;;;IASA,gBAA0BQ,WAA6B;EACnD,MAAMC,SAASD,UAAUE,QAAQ1B,kBAAAA;EAEjC,MAAMwD,UAAU,OAAO/B,OAAOgC,yBAAyB,aACnDhC,OAAOgC,yBAAyB;EAEpCjC,UAAUmB,SAAStC,qBAAqB,EACpCwC,UAAUW,UACN,IAAIlD,oBAAAA,IACJ,IAAIJ,oBAAAA,EACZ,CAAA;CACJ;CAIA,MAAMwD,SAASlC,WAAsC;EACjD,IAAI,KAAKR,wBAAwB;GAC7BQ,UAAUmC,WAAWvD,iBAAiB2C,YAAY;GAClD,KAAK/B,yBAAyB;EAClC;EAEAQ,UAAUmC,WAAWtD,mBAAAA;EAErB,IAAI,CAAC,KAAKQ,UAAU;EAEpBW,UAAUmC,WAAWvD,iBAAiBwC,MAAM;EAE5C,MAAM,KAAK/B,SAAS+C,MAAK;EACzB,KAAK/C,WAAWqC,KAAAA;CACpB;AACJ"}
1
+ {"version":3,"file":"module.mjs","names":["Client","AuthupError","App","serve","ConfigInjectionKey","createInternalUIHttpClient","NoopAuthFlowMetrics","ModuleName","HTTPInjectionKey","MetricsInjectionKey","PromAuthFlowMetrics","HTTPControllerModule","HTTPMiddlewareModule","LoggerInjectionKey","HTTPModule","name","dependencies","instance","middleware","controller","uiHttpClientRegistered","HTTP","CONFIG","LOGGER","AUTHENTICATION","IDENTITY","OAUTH2","setup","container","config","resolve","logger","debug","router","options","trustProxy","e","Error","message","String","registerUIHttpClient","registerMetrics","mountBefore","mount","mountAfter","server","port","hostname","host","silent","gracefulShutdown","ready","url","register","Server","useValue","has","UIHttpClient","useFactory","c","undefined","publicURL","publicUrl","internalURL","baseURL","lifetime","enabled","middlewarePrometheus","teardown","unregister","close"],"sources":["../../../../src/app/modules/http/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { Client } from '@authup/core-http-kit';\nimport { AuthupError } from '@authup/errors';\nimport { App } from 'routup';\nimport { serve } from 'routup/node';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IModule } from 'orkos';\nimport { createInternalUIHttpClient } from '../../../adapters/http/ui/index.ts';\nimport { NoopAuthFlowMetrics } from '../../../core/index.ts';\nimport { ModuleName } from '../constants.ts';\nimport type { HTTPServer } from './constants.ts';\nimport { HTTPInjectionKey } from './constants.ts';\nimport type { IContainer } from 'eldin';\nimport { MetricsInjectionKey, PromAuthFlowMetrics } from '../metrics/index.ts';\nimport { HTTPControllerModule, HTTPMiddlewareModule } from './modules/index.ts';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport class HTTPModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected instance : HTTPServer | undefined;\n\n protected middleware : HTTPMiddlewareModule;\n\n protected controller : HTTPControllerModule;\n\n protected uiHttpClientRegistered : boolean;\n\n constructor() {\n this.name = ModuleName.HTTP;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER, ModuleName.AUTHENTICATION, ModuleName.IDENTITY, ModuleName.OAUTH2];\n this.controller = new HTTPControllerModule();\n this.middleware = new HTTPMiddlewareModule();\n this.uiHttpClientRegistered = false;\n }\n\n // ----------------------------------------------------\n\n async setup(container: IContainer): Promise<void> {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Starting http server...');\n\n // Every request helper deriving proxy-dependent request facts\n // (getRequestIP, hostname, protocol) resolves the trust contract from\n // the app options — call sites must NOT pass their own `trustProxy`.\n let router : App;\n try {\n router = new App({ options: { trustProxy: config.trustProxy } });\n } catch (e) {\n // proxy-addr compiles the allowlist form inside the App\n // constructor; its error (\"invalid IP address: …\") does not name\n // the offending config key — attribute it.\n throw new AuthupError(\n `Invalid trustProxy (TRUST_PROXY) configuration: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n\n this.registerUIHttpClient(container);\n this.registerMetrics(container);\n\n await this.middleware.mountBefore(router, container);\n await this.controller.mount(router, container);\n await this.middleware.mountAfter(router, container);\n\n const server = serve(router, {\n port: config.port,\n hostname: config.host,\n silent: true,\n // Shutdown is driven by the orkos teardown chain (see cli/commands/start.ts);\n // srvx's plugin would only close the HTTP server, leaving DB / cache / etc. open.\n gracefulShutdown: false,\n });\n\n await server.ready();\n\n this.instance = server;\n\n if (server.url) {\n logger.debug(`Listening on ${server.url}`);\n }\n\n container.register(HTTPInjectionKey.Server, { useValue: server });\n\n logger.debug('Started http server.');\n }\n\n // ----------------------------------------------------\n\n /**\n * Default HTTP client for the SSR'd UI pages: dispatches against the\n * server's own listen address instead of round-tripping through the\n * reverse proxy at `publicUrl` (see `createInternalUIHttpClient`).\n * Skipped when the token is already bound (test injection wins).\n * Transient lifetime is mandatory — client-web-kit's authentication\n * hook writes per-user Authorization state onto the client.\n */\n protected registerUIHttpClient(container: IContainer): void {\n if (container.has(HTTPInjectionKey.UIHttpClient)) {\n return;\n }\n\n container.register(HTTPInjectionKey.UIHttpClient, {\n useFactory: (c) => {\n const config = c.resolve(ConfigInjectionKey);\n\n // The server token is registered after listen; a resolve can\n // only happen on a request, so it is present by then. The\n // guards keep an edge case on the previous (public URL)\n // dispatch behavior instead of failing the render.\n const server = c.has(HTTPInjectionKey.Server) ?\n c.resolve(HTTPInjectionKey.Server) :\n undefined;\n\n if (server && server.url) {\n return createInternalUIHttpClient({\n publicURL: config.publicUrl,\n internalURL: server.url,\n });\n }\n\n return new Client({ baseURL: config.publicUrl });\n },\n }, { lifetime: 'transient' });\n\n this.uiHttpClientRegistered = true;\n }\n\n /**\n * Auth-flow metric counters for the emit points (plan 058 Part 2).\n * Registered before the controllers are built — the factories resolve the\n * token. Prometheus-backed iff the prometheus middleware is enabled\n * (mirrors HTTPMiddlewareModule.isEnabled: boolean|object, false = off),\n * otherwise a noop so emit sites never need a guard beyond `?.`.\n */\n protected registerMetrics(container: IContainer): void {\n const config = container.resolve(ConfigInjectionKey);\n\n const enabled = typeof config.middlewarePrometheus !== 'boolean' ||\n config.middlewarePrometheus === true;\n\n container.register(MetricsInjectionKey, {\n useValue: enabled ?\n new PromAuthFlowMetrics() :\n new NoopAuthFlowMetrics(),\n });\n }\n\n // ----------------------------------------------------\n\n async teardown(container: IContainer): Promise<void> {\n if (this.uiHttpClientRegistered) {\n container.unregister(HTTPInjectionKey.UIHttpClient);\n this.uiHttpClientRegistered = false;\n }\n\n container.unregister(MetricsInjectionKey);\n\n if (!this.instance) return;\n\n container.unregister(HTTPInjectionKey.Server);\n\n await this.instance.close();\n this.instance = undefined;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAac,aAAb,MAAaA;CACAC;CAEAC;CAECC;CAEAC;CAEAC;CAEAC;CAEV,cAAc;EACV,KAAKL,OAAOR,WAAWc;EACvB,KAAKL,eAAe;GAACT,WAAWe;GAAQf,WAAWgB;GAAQhB,WAAWiB;GAAgBjB,WAAWkB;GAAUlB,WAAWmB;EAAO;EAC7H,KAAKP,aAAa,IAAIR,qBAAAA;EACtB,KAAKO,aAAa,IAAIN,qBAAAA;EACtB,KAAKQ,yBAAyB;CAClC;CAIA,MAAMO,MAAMC,WAAsC;EAC9C,MAAMC,SAASD,UAAUE,QAAQ1B,kBAAAA;EACjC,MAAM2B,SAASH,UAAUE,QAAQjB,kBAAAA;EAEjCkB,OAAOC,MAAM,yBAAA;EAKb,IAAIC;EACJ,IAAI;GACAA,SAAS,IAAI/B,IAAI,EAAEgC,SAAS,EAAEC,YAAYN,OAAOM,WAAW,EAAE,CAAA;EAClE,SAASC,GAAG;GAIR,MAAM,IAAInC,YACN,mDAAmDmC,aAAaC,QAAQD,EAAEE,UAAUC,OAAOH,CAAAA,GAAI;EAEvG;EAEA,KAAKI,qBAAqBZ,SAAAA;EAC1B,KAAKa,gBAAgBb,SAAAA;EAErB,MAAM,KAAKV,WAAWwB,YAAYT,QAAQL,SAAAA;EAC1C,MAAM,KAAKT,WAAWwB,MAAMV,QAAQL,SAAAA;EACpC,MAAM,KAAKV,WAAW0B,WAAWX,QAAQL,SAAAA;EAEzC,MAAMiB,SAAS1C,MAAM8B,QAAQ;GACzBa,MAAMjB,OAAOiB;GACbC,UAAUlB,OAAOmB;GACjBC,QAAQ;GAGRC,kBAAkB;EACtB,CAAA;EAEA,MAAML,OAAOM,MAAK;EAElB,KAAKlC,WAAW4B;EAEhB,IAAIA,OAAOO,KACPrB,OAAOC,MAAM,gBAAgBa,OAAOO,KAAK;EAG7CxB,UAAUyB,SAAS7C,iBAAiB8C,QAAQ,EAAEC,UAAUV,OAAO,CAAA;EAE/Dd,OAAOC,MAAM,sBAAA;CACjB;;;;;;;;IAYA,qBAA+BJ,WAA6B;EACxD,IAAIA,UAAU4B,IAAIhD,iBAAiBiD,YAAY,GAC3C;EAGJ7B,UAAUyB,SAAS7C,iBAAiBiD,cAAc,EAC9CC,aAAaC,MAAAA;GACT,MAAM9B,SAAS8B,EAAE7B,QAAQ1B,kBAAAA;GAMzB,MAAMyC,SAASc,EAAEH,IAAIhD,iBAAiB8C,MAAM,IACxCK,EAAE7B,QAAQtB,iBAAiB8C,MAAM,IACjCM,KAAAA;GAEJ,IAAIf,UAAUA,OAAOO,KACjB,OAAO/C,2BAA2B;IAC9BwD,WAAWhC,OAAOiC;IAClBC,aAAalB,OAAOO;GACxB,CAAA;GAGJ,OAAO,IAAIpD,OAAO,EAAEgE,SAASnC,OAAOiC,UAAU,CAAA;EAClD,EACJ,GAAG,EAAEG,UAAU,YAAY,CAAA;EAE3B,KAAK7C,yBAAyB;CAClC;;;;;;;IASA,gBAA0BQ,WAA6B;EACnD,MAAMC,SAASD,UAAUE,QAAQ1B,kBAAAA;EAEjC,MAAM8D,UAAU,OAAOrC,OAAOsC,yBAAyB,aACnDtC,OAAOsC,yBAAyB;EAEpCvC,UAAUyB,SAAS5C,qBAAqB,EACpC8C,UAAUW,UACN,IAAIxD,oBAAAA,IACJ,IAAIJ,oBAAAA,EACZ,CAAA;CACJ;CAIA,MAAM8D,SAASxC,WAAsC;EACjD,IAAI,KAAKR,wBAAwB;GAC7BQ,UAAUyC,WAAW7D,iBAAiBiD,YAAY;GAClD,KAAKrC,yBAAyB;EAClC;EAEAQ,UAAUyC,WAAW5D,mBAAAA;EAErB,IAAI,CAAC,KAAKQ,UAAU;EAEpBW,UAAUyC,WAAW7D,iBAAiB8C,MAAM;EAE5C,MAAM,KAAKrC,SAASqD,MAAK;EACzB,KAAKrD,WAAW2C,KAAAA;CACpB;AACJ"}
@@ -1,8 +1,8 @@
1
1
  import type { App } from 'routup';
2
2
  import { ClientController, ClientPermissionController, ClientRoleController, ClientScopeController, ConsentController, EventController, IdentityProviderController, IdentityProviderRoleMappingController, KeyController, PermissionController, PermissionPolicyController, PolicyController, RealmController, RoleAttributeController, RoleController, RolePermissionController, ScopeController, SessionController, TrustAnchorController, UserAttributeController, UserAuthenticatorController, UserController, UserPermissionController, UserRoleController } from '../../../../adapters/http/index.ts';
3
- import { ActivateController, AuthenticatorChallengeController, AuthorizeController, JwkController, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, StatusController, TokenController } from '../../../../adapters/http/controllers/index.ts';
3
+ import { ActivateController, AuthenticatorChallengeController, AuthorizeController, JwkController, LogoutController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, StatusController, TokenController, UserInfoController } from '../../../../adapters/http/controllers/index.ts';
4
4
  import type { IContainer } from 'eldin';
5
- import { ConsentService, OAuth2AccessPolicyEvaluator, OAuth2MfaLoginService, PasswordRecoveryService, RegistrationService, UserAuthenticatorService } from '../../../../core/index.ts';
5
+ import { ConsentService, OAuth2AccessPolicyEvaluator, OAuth2MfaLoginService, PasswordRecoveryService, RegistrationService, UserAuthenticatorService, UserService } from '../../../../core/index.ts';
6
6
  import type { StatusResponseFeatures } from '@authup/core-http-kit';
7
7
  import type { Config } from '../../config/index.ts';
8
8
  export declare class HTTPControllerModule {
@@ -46,7 +46,9 @@ export declare class HTTPControllerModule {
46
46
  protected resolveMfaLoginService(container: IContainer): OAuth2MfaLoginService;
47
47
  createAuthenticatorChallengeController(container: IContainer): AuthenticatorChallengeController;
48
48
  createEventController(container: IContainer): EventController;
49
+ createUserService(container: IContainer): UserService;
49
50
  createUserController(container: IContainer): UserController;
51
+ createUserInfoController(container: IContainer): UserInfoController;
50
52
  createUserAttributeController(container: IContainer): UserAttributeController;
51
53
  createUserPermissionController(container: IContainer): UserPermissionController;
52
54
  createUserRoleController(container: IContainer): UserRoleController;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAmElC,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,0BAA0B,EAC1B,qCAAqC,EACrC,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAErB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,kBAAkB,EAClB,gCAAgC,EAChC,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAMH,cAAc,EAMd,2BAA2B,EAG3B,qBAAqB,EACrB,uBAAuB,EAQvB,mBAAmB,EASnB,wBAAwB,EAK3B,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAOpD,qBAAa,oBAAoB;IACvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAsE9D,eAAe,CAAC,SAAS,EAAE,UAAU;IAmCrC,WAAW,CAAC,SAAS,EAAE,UAAU;IAmFjC,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAY9C,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IA0BnD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAY9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAsB5C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAI,sBAAsB;IAQxD,yBAAyB,CAAC,SAAS,EAAE,UAAU;IA0B/C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAoC5C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiB5C,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,oBAAoB;IAOtB,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAkDtD,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,gCAAgC,CAAC,SAAS,EAAE,UAAU;IActD,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAShD,2BAA2B,CAAC,SAAS,EAAE,UAAU;IAQjD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAcpD,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAQtD,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAe3C,mBAAmB,CAAC,SAAS,EAAE,UAAU;IAWzC,2BAA2B,CAAC,SAAS,EAAE,UAAU;IAYjD,uBAAuB,CAAC,SAAS,EAAE,UAAU;IAM7C,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,GAAI,cAAc;IAKtE,uBAAuB,CAAC,SAAS,EAAE,UAAU;IAI7C,OAAO,CAAC,qBAAqB,CAAC,CAA+B;IAE7D,SAAS,CAAC,4BAA4B,CAAC,SAAS,EAAE,UAAU,GAAI,2BAA2B;IAgB3F,OAAO,CAAC,wBAAwB,CAAC,CAA4B;IAE7D,SAAS,CAAC,+BAA+B,CAAC,SAAS,EAAE,UAAU,GAAI,wBAAwB;IAsD3F,iCAAiC,CAAC,SAAS,EAAE,UAAU;IAIvD,OAAO,CAAC,eAAe,CAAC,CAAyB;IAEjD,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,GAAI,qBAAqB;IAkB/E,sCAAsC,CAAC,SAAS,EAAE,UAAU;IAQ5D,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAK3C,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAiB1C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAcpD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAS9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAyB5C,oCAAoC,CAAC,SAAS,EAAE,UAAU;IAc1D,mBAAmB,CAAC,SAAS,EAAE,UAAU;IAMzC,qBAAqB,CAAC,SAAS,EAAE,UAAU;CAuC9C"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,7 @@ import { PasswordResetController } from "../../../../adapters/http/controllers/w
118
118
  import { RegisterController } from "../../../../adapters/http/controllers/workflows/register/module.mjs";
119
119
  import { StatusController } from "../../../../adapters/http/controllers/workflows/status/module.mjs";
120
120
  import { TokenController } from "../../../../adapters/http/controllers/workflows/token/module.mjs";
121
+ import { UserInfoController } from "../../../../adapters/http/controllers/workflows/userinfo/module.mjs";
121
122
  import { RealmController } from "../../../../adapters/http/controllers/entities/realm/module.mjs";
122
123
  import { RoleController } from "../../../../adapters/http/controllers/entities/role/module.mjs";
123
124
  import { RoleAttributeController } from "../../../../adapters/http/controllers/entities/role-attribute/module.mjs";
@@ -177,6 +178,7 @@ var HTTPControllerModule = class {
177
178
  this.createRegisterController(container),
178
179
  this.createLogoutController(container),
179
180
  this.createAuthenticatorChallengeController(container),
181
+ this.createUserInfoController(container),
180
182
  this.createStatusController(container),
181
183
  clientController,
182
184
  clientPermissionController,
@@ -251,6 +253,16 @@ var HTTPControllerModule = class {
251
253
  identityResolver,
252
254
  certificateValidator: new ClientCertificateValidator({ trustAnchorRepository: new TrustAnchorRepositoryAdapter(dataSource) })
253
255
  });
256
+ const eventService = container.resolve(DatabaseInjectionKey.EventService);
257
+ const metrics = container.resolve(MetricsInjectionKey);
258
+ const loginThrottleService = new LoginThrottleService({
259
+ repository: container.resolve(DatabaseInjectionKey.EventRepository),
260
+ options: {
261
+ enabled: config.loginAttemptThrottleEnabled,
262
+ threshold: config.loginAttemptThreshold,
263
+ windowSeconds: config.loginAttemptWindow
264
+ }
265
+ });
254
266
  return new TokenController({
255
267
  codeVerifier,
256
268
  accessTokenIssuer,
@@ -261,16 +273,9 @@ var HTTPControllerModule = class {
261
273
  tokenRevoker,
262
274
  tokenRepository,
263
275
  sessionTokenRepository,
264
- eventService: container.resolve(DatabaseInjectionKey.EventService),
265
- metrics: container.resolve(MetricsInjectionKey),
266
- loginThrottleService: new LoginThrottleService({
267
- repository: container.resolve(DatabaseInjectionKey.EventRepository),
268
- options: {
269
- enabled: config.loginAttemptThrottleEnabled,
270
- threshold: config.loginAttemptThreshold,
271
- windowSeconds: config.loginAttemptWindow
272
- }
273
- }),
276
+ eventService,
277
+ metrics,
278
+ loginThrottleService,
274
279
  userAuthenticatorService: this.resolveUserAuthenticatorService(container),
275
280
  mfaLoginService: this.resolveMfaLoginService(container),
276
281
  accessPolicyEvaluator: this.resolveAccessPolicyEvaluator(container),
@@ -286,7 +291,8 @@ var HTTPControllerModule = class {
286
291
  });
287
292
  }
288
293
  createOpenIDController(container) {
289
- return new OpenIDController({ baseURL: container.resolve(ConfigInjectionKey).publicUrl });
294
+ const config = container.resolve(ConfigInjectionKey);
295
+ return new OpenIDController({ baseURL: config.publicUrl });
290
296
  }
291
297
  createActivateController(container) {
292
298
  const config = container.resolve(ConfigInjectionKey);
@@ -326,9 +332,11 @@ var HTTPControllerModule = class {
326
332
  repository: new UserRepository(dataSource),
327
333
  realmRepository
328
334
  });
335
+ const mailClient = container.resolve(MailInjectionKey);
336
+ const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);
329
337
  return new PasswordRecoveryService({
330
- mailClient: container.resolve(MailInjectionKey),
331
- mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),
338
+ mailClient,
339
+ mailTemplateRenderer,
332
340
  repository,
333
341
  realmRepository: new RealmRepositoryAdapter(realmRepository),
334
342
  eventService: container.resolve(DatabaseInjectionKey.EventService),
@@ -352,11 +360,15 @@ var HTTPControllerModule = class {
352
360
  }
353
361
  createLogoutController(container) {
354
362
  const config = container.resolve(ConfigInjectionKey);
363
+ const tokenVerifier = container.resolve(OAuth2InjectionToken.TokenVerifier);
364
+ const sessionManager = container.resolve(AuthenticationInjectionKey.SessionManager);
365
+ const clientRepository = container.resolve(OAuth2InjectionToken.ClientRepository);
366
+ const realmRepository = new RealmRepositoryAdapter(container.resolve(RealmEntity));
355
367
  const endSessionService = new OAuth2EndSessionService({
356
- tokenVerifier: container.resolve(OAuth2InjectionToken.TokenVerifier),
357
- sessionManager: container.resolve(AuthenticationInjectionKey.SessionManager),
358
- clientRepository: container.resolve(OAuth2InjectionToken.ClientRepository),
359
- realmRepository: new RealmRepositoryAdapter(container.resolve(RealmEntity)),
368
+ tokenVerifier,
369
+ sessionManager,
370
+ clientRepository,
371
+ realmRepository,
360
372
  eventService: container.resolve(DatabaseInjectionKey.EventService),
361
373
  hintGracePeriod: config.endSessionHintGracePeriod
362
374
  });
@@ -384,9 +396,11 @@ var HTTPControllerModule = class {
384
396
  repository: new UserRepository(dataSource),
385
397
  realmRepository
386
398
  });
399
+ const mailClient = container.resolve(MailInjectionKey);
400
+ const mailTemplateRenderer = container.resolve(MailTemplateRendererInjectionKey);
387
401
  return new RegistrationService({
388
- mailClient: container.resolve(MailInjectionKey),
389
- mailTemplateRenderer: container.resolve(MailTemplateRendererInjectionKey),
402
+ mailClient,
403
+ mailTemplateRenderer,
390
404
  repository,
391
405
  realmRepository: new RealmRepositoryAdapter(realmRepository),
392
406
  eventService: container.resolve(DatabaseInjectionKey.EventService),
@@ -428,11 +442,13 @@ var HTTPControllerModule = class {
428
442
  repository: container.resolve(ClientEntity),
429
443
  realmRepository
430
444
  });
445
+ const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);
446
+ const service = new ClientService({
447
+ repository,
448
+ realmRepository: realmRepositoryAdapter
449
+ });
431
450
  return new ClientController({
432
- service: new ClientService({
433
- repository,
434
- realmRepository: new RealmRepositoryAdapter(realmRepository)
435
- }),
451
+ service,
436
452
  repository
437
453
  });
438
454
  }
@@ -456,103 +472,137 @@ var HTTPControllerModule = class {
456
472
  realmRepository
457
473
  });
458
474
  const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);
475
+ const roleRepository = new RoleRepositoryAdapter({
476
+ repository: container.resolve(RoleEntity),
477
+ realmRepository
478
+ });
479
+ const rolePermissionRepository = new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity));
480
+ const policyRepository = new PolicyRepositoryAdapter({
481
+ repository: new PolicyRepository(dataSource),
482
+ realmRepository
483
+ });
484
+ const permissionPolicyRepository = new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity));
459
485
  const service = new PermissionService({
460
486
  repository,
461
487
  realmRepository: realmRepositoryAdapter,
462
- roleRepository: new RoleRepositoryAdapter({
463
- repository: container.resolve(RoleEntity),
464
- realmRepository
465
- }),
466
- rolePermissionRepository: new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity)),
467
- policyRepository: new PolicyRepositoryAdapter({
468
- repository: new PolicyRepository(dataSource),
469
- realmRepository
470
- }),
471
- permissionPolicyRepository: new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity))
488
+ roleRepository,
489
+ rolePermissionRepository,
490
+ policyRepository,
491
+ permissionPolicyRepository
472
492
  });
473
493
  const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
494
+ const permissionProvider = new PermissionDatabaseProvider(dataSource);
495
+ const checkerService = new PermissionCheckerService({
496
+ repository,
497
+ realmRepository: realmRepositoryAdapter,
498
+ permissionProvider,
499
+ identityPermissionProvider
500
+ });
474
501
  return new PermissionController({
475
502
  service,
476
- checkerService: new PermissionCheckerService({
477
- repository,
478
- realmRepository: realmRepositoryAdapter,
479
- permissionProvider: new PermissionDatabaseProvider(dataSource),
480
- identityPermissionProvider
481
- })
503
+ checkerService
482
504
  });
483
505
  }
484
506
  createRoleController(container) {
485
507
  const realmRepository = new RealmRepositoryAdapter(container.resolve(RealmEntity));
486
- return new RoleController({ service: new RoleService({
487
- repository: new RoleRepositoryAdapter({
488
- repository: container.resolve(RoleEntity),
489
- realmRepository: container.resolve(RealmEntity)
490
- }),
508
+ const repository = new RoleRepositoryAdapter({
509
+ repository: container.resolve(RoleEntity),
510
+ realmRepository: container.resolve(RealmEntity)
511
+ });
512
+ const service = new RoleService({
513
+ repository,
491
514
  realmRepository
492
- }) });
515
+ });
516
+ return new RoleController({ service });
493
517
  }
494
518
  createClientPermissionController(container) {
495
- return new ClientPermissionController({ service: new ClientPermissionService({
496
- repository: new ClientPermissionRepositoryAdapter(container.resolve(ClientPermissionEntity)),
497
- permissionRepository: this.createPermissionRepository(container),
498
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
499
- }) });
519
+ const repository = new ClientPermissionRepositoryAdapter(container.resolve(ClientPermissionEntity));
520
+ const permissionRepository = this.createPermissionRepository(container);
521
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
522
+ const service = new ClientPermissionService({
523
+ repository,
524
+ permissionRepository,
525
+ identityPermissionProvider
526
+ });
527
+ return new ClientPermissionController({ service });
500
528
  }
501
529
  createClientRoleController(container) {
502
- return new ClientRoleController({ service: new ClientRoleService({
503
- repository: new ClientRoleRepositoryAdapter(container.resolve(ClientRoleEntity)),
504
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
505
- }) });
530
+ const repository = new ClientRoleRepositoryAdapter(container.resolve(ClientRoleEntity));
531
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
532
+ const service = new ClientRoleService({
533
+ repository,
534
+ identityPermissionProvider
535
+ });
536
+ return new ClientRoleController({ service });
506
537
  }
507
538
  createClientScopeController(container) {
508
- return new ClientScopeController({ service: new ClientScopeService({ repository: new ClientScopeRepositoryAdapter(container.resolve(ClientScopeEntity)) }) });
539
+ const repository = new ClientScopeRepositoryAdapter(container.resolve(ClientScopeEntity));
540
+ const service = new ClientScopeService({ repository });
541
+ return new ClientScopeController({ service });
509
542
  }
510
543
  createRoleAttributeController(container) {
511
544
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
512
- return new RoleAttributeController({ service: new RoleAttributeService({
513
- repository: new RoleAttributeRepositoryAdapter(container.resolve(RoleAttributeEntity)),
514
- reservedNames: new Set(dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName))
515
- }) });
545
+ const repository = new RoleAttributeRepositoryAdapter(container.resolve(RoleAttributeEntity));
546
+ const reservedNames = new Set(dataSource.getMetadata(RoleEntity).columns.map((c) => c.propertyName));
547
+ const service = new RoleAttributeService({
548
+ repository,
549
+ reservedNames
550
+ });
551
+ return new RoleAttributeController({ service });
516
552
  }
517
553
  createRolePermissionController(container) {
518
- return new RolePermissionController({ service: new RolePermissionService({
519
- repository: new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity)),
520
- permissionRepository: this.createPermissionRepository(container),
521
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
522
- }) });
554
+ const repository = new RolePermissionRepositoryAdapter(container.resolve(RolePermissionEntity));
555
+ const permissionRepository = this.createPermissionRepository(container);
556
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
557
+ const service = new RolePermissionService({
558
+ repository,
559
+ permissionRepository,
560
+ identityPermissionProvider
561
+ });
562
+ return new RolePermissionController({ service });
523
563
  }
524
564
  createPermissionPolicyController(container) {
525
- return new PermissionPolicyController({ service: new PermissionPolicyService({ repository: new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity)) }) });
565
+ const repository = new PermissionPolicyRepositoryAdapter(container.resolve(PermissionPolicyEntity));
566
+ const service = new PermissionPolicyService({ repository });
567
+ return new PermissionPolicyController({ service });
526
568
  }
527
569
  createScopeController(container) {
528
570
  const realmRepository = new RealmRepositoryAdapter(container.resolve(RealmEntity));
529
- return new ScopeController({ service: new ScopeService({
530
- repository: new ScopeRepositoryAdapter({
531
- repository: container.resolve(ScopeEntity),
532
- realmRepository: container.resolve(RealmEntity)
533
- }),
571
+ const repository = new ScopeRepositoryAdapter({
572
+ repository: container.resolve(ScopeEntity),
573
+ realmRepository: container.resolve(RealmEntity)
574
+ });
575
+ const service = new ScopeService({
576
+ repository,
534
577
  realmRepository
535
- }) });
578
+ });
579
+ return new ScopeController({ service });
536
580
  }
537
581
  createKeyController(container) {
538
- return new KeyController({ service: new KeyService({
582
+ const service = new KeyService({
539
583
  repository: container.resolve(OAuth2InjectionToken.KeyStore),
540
584
  eventService: container.resolve(DatabaseInjectionKey.EventService),
541
585
  requestContext: useRequestEventContext
542
- }) });
586
+ });
587
+ return new KeyController({ service });
543
588
  }
544
589
  createTrustAnchorController(container) {
545
- return new TrustAnchorController({ service: new TrustAnchorService({
546
- repository: new TrustAnchorRepositoryAdapter(container.resolve(DatabaseInjectionKey.DataSource)),
590
+ const repository = new TrustAnchorRepositoryAdapter(container.resolve(DatabaseInjectionKey.DataSource));
591
+ const service = new TrustAnchorService({
592
+ repository,
547
593
  eventService: container.resolve(DatabaseInjectionKey.EventService),
548
594
  requestContext: useRequestEventContext
549
- }) });
595
+ });
596
+ return new TrustAnchorController({ service });
550
597
  }
551
598
  createSessionController(container) {
552
- return new SessionController({ service: new SessionService({ repository: container.resolve(AuthenticationInjectionKey.SessionRepository) }) });
599
+ const repository = container.resolve(AuthenticationInjectionKey.SessionRepository);
600
+ const service = new SessionService({ repository });
601
+ return new SessionController({ service });
553
602
  }
554
603
  createConsentService(container) {
555
- return new ConsentService({ repository: container.resolve(OAuth2InjectionToken.ConsentRepository) });
604
+ const repository = container.resolve(OAuth2InjectionToken.ConsentRepository);
605
+ return new ConsentService({ repository });
556
606
  }
557
607
  createConsentController(container) {
558
608
  return new ConsentController({ service: this.createConsentService(container) });
@@ -634,40 +684,59 @@ var HTTPControllerModule = class {
634
684
  });
635
685
  }
636
686
  createEventController(container) {
637
- return new EventController({ service: container.resolve(DatabaseInjectionKey.EventService) });
687
+ const service = container.resolve(DatabaseInjectionKey.EventService);
688
+ return new EventController({ service });
638
689
  }
639
- createUserController(container) {
690
+ createUserService(container) {
640
691
  const config = container.resolve(ConfigInjectionKey);
641
692
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
642
693
  const realmRepository = container.resolve(RealmEntity);
643
- return new UserController({ service: new UserService({
644
- repository: new UserRepositoryAdapter({
645
- repository: new UserRepository(dataSource),
646
- realmRepository
647
- }),
648
- realmRepository: new RealmRepositoryAdapter(realmRepository),
694
+ const repository = new UserRepositoryAdapter({
695
+ repository: new UserRepository(dataSource),
696
+ realmRepository
697
+ });
698
+ const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);
699
+ return new UserService({
700
+ repository,
701
+ realmRepository: realmRepositoryAdapter,
649
702
  passwordMinLength: config.passwordMinLength
650
- }) });
703
+ });
704
+ }
705
+ createUserController(container) {
706
+ return new UserController({ service: this.createUserService(container) });
707
+ }
708
+ createUserInfoController(container) {
709
+ return new UserInfoController({ service: this.createUserService(container) });
651
710
  }
652
711
  createUserAttributeController(container) {
653
712
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
654
- return new UserAttributeController({ service: new UserAttributeService({
655
- repository: new UserAttributeRepositoryAdapter(container.resolve(UserAttributeEntity)),
656
- reservedNames: new Set(dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName))
657
- }) });
713
+ const repository = new UserAttributeRepositoryAdapter(container.resolve(UserAttributeEntity));
714
+ const reservedNames = new Set(dataSource.getMetadata(UserEntity).columns.map((c) => c.propertyName));
715
+ const service = new UserAttributeService({
716
+ repository,
717
+ reservedNames
718
+ });
719
+ return new UserAttributeController({ service });
658
720
  }
659
721
  createUserPermissionController(container) {
660
- return new UserPermissionController({ service: new UserPermissionService({
661
- repository: new UserPermissionRepositoryAdapter(container.resolve(UserPermissionEntity)),
662
- permissionRepository: this.createPermissionRepository(container),
663
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
664
- }) });
722
+ const repository = new UserPermissionRepositoryAdapter(container.resolve(UserPermissionEntity));
723
+ const permissionRepository = this.createPermissionRepository(container);
724
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
725
+ const service = new UserPermissionService({
726
+ repository,
727
+ permissionRepository,
728
+ identityPermissionProvider
729
+ });
730
+ return new UserPermissionController({ service });
665
731
  }
666
732
  createUserRoleController(container) {
667
- return new UserRoleController({ service: new UserRoleService({
668
- repository: new UserRoleRepositoryAdapter(container.resolve(UserRoleEntity)),
669
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
670
- }) });
733
+ const repository = new UserRoleRepositoryAdapter(container.resolve(UserRoleEntity));
734
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
735
+ const service = new UserRoleService({
736
+ repository,
737
+ identityPermissionProvider
738
+ });
739
+ return new UserRoleController({ service });
671
740
  }
672
741
  createPolicyController(container) {
673
742
  const dataSource = container.resolve(DatabaseInjectionKey.DataSource);
@@ -677,27 +746,35 @@ var HTTPControllerModule = class {
677
746
  realmRepository
678
747
  });
679
748
  const realmRepositoryAdapter = new RealmRepositoryAdapter(realmRepository);
749
+ const service = new PolicyService({
750
+ repository,
751
+ realmRepository: realmRepositoryAdapter
752
+ });
753
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
754
+ const checkerService = new PolicyCheckerService({
755
+ repository,
756
+ realmRepository: realmRepositoryAdapter,
757
+ identityPermissionProvider
758
+ });
680
759
  return new PolicyController({
681
- service: new PolicyService({
682
- repository,
683
- realmRepository: realmRepositoryAdapter
684
- }),
685
- checkerService: new PolicyCheckerService({
686
- repository,
687
- realmRepository: realmRepositoryAdapter,
688
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
689
- })
760
+ service,
761
+ checkerService
690
762
  });
691
763
  }
692
764
  createIdentityProviderRoleController(container) {
693
- return new IdentityProviderRoleMappingController({ service: new IdentityProviderRoleMappingService({
694
- repository: new IdentityProviderRoleMappingRepositoryAdapter(container.resolve(IdentityProviderRoleMappingEntity)),
695
- roleRepository: this.createRoleRepository(container),
696
- identityPermissionProvider: container.resolve(IdentityInjectionKey.PermissionProvider)
697
- }) });
765
+ const repository = new IdentityProviderRoleMappingRepositoryAdapter(container.resolve(IdentityProviderRoleMappingEntity));
766
+ const roleRepository = this.createRoleRepository(container);
767
+ const identityPermissionProvider = container.resolve(IdentityInjectionKey.PermissionProvider);
768
+ const service = new IdentityProviderRoleMappingService({
769
+ repository,
770
+ roleRepository,
771
+ identityPermissionProvider
772
+ });
773
+ return new IdentityProviderRoleMappingController({ service });
698
774
  }
699
775
  createJwkController(container) {
700
- return new JwkController({ repository: container.resolve(DatabaseInjectionKey.DataSource).getRepository(KeyEntity) });
776
+ const repository = container.resolve(DatabaseInjectionKey.DataSource).getRepository(KeyEntity);
777
+ return new JwkController({ repository });
701
778
  }
702
779
  createRealmController(container) {
703
780
  const config = container.resolve(ConfigInjectionKey);
@@ -709,17 +786,24 @@ var HTTPControllerModule = class {
709
786
  realmRepository
710
787
  });
711
788
  const logger = container.resolve(LoggerInjectionKey);
789
+ const webClientProvisioner = new WebClientProvisioner({
790
+ clientRepository,
791
+ scopeRepository: new ScopeRepositoryAdapter({
792
+ repository: container.resolve(ScopeEntity),
793
+ realmRepository
794
+ }),
795
+ clientScopeRepository: new ClientScopeRepositoryAdapter(container.resolve(ClientScopeEntity)),
796
+ appOrigins: getAppOrigins(config),
797
+ logger
798
+ });
799
+ const keyProvisioner = new KeyProvisioner({
800
+ keyStore: container.resolve(OAuth2InjectionToken.KeyStore),
801
+ logger
802
+ });
712
803
  const service = new RealmService({
713
804
  repository,
714
- webClientProvisioner: new WebClientProvisioner({
715
- clientRepository,
716
- appOrigins: getAppOrigins(config),
717
- logger
718
- }),
719
- keyProvisioner: new KeyProvisioner({
720
- keyStore: container.resolve(OAuth2InjectionToken.KeyStore),
721
- logger
722
- }),
805
+ webClientProvisioner,
806
+ keyProvisioner,
723
807
  logger
724
808
  });
725
809
  const keyRepository = dataSource.getRepository(KeyEntity);