@authup/server-core 1.0.0-beta.41 → 1.0.0-beta.42

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 (687) hide show
  1. package/dist/adapters/database/cache/module.mjs.map +1 -1
  2. package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
  3. package/dist/adapters/database/data-source/singleton.mjs.map +1 -1
  4. package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
  5. package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
  6. package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
  7. package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
  8. package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
  9. package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
  10. package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
  11. package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
  12. package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
  13. package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
  14. package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
  15. package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
  16. package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
  17. package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
  18. package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
  19. package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
  20. package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
  21. package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
  22. package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
  23. package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
  24. package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
  25. package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
  26. package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
  27. package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
  28. package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
  29. package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
  30. package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
  31. package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
  32. package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
  33. package/dist/adapters/database/domains/realm/repository.mjs.map +1 -1
  34. package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
  35. package/dist/adapters/database/domains/robot/entity.mjs.map +1 -1
  36. package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
  37. package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
  38. package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
  39. package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
  40. package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
  41. package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
  42. package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
  43. package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
  44. package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
  45. package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
  46. package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
  47. package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
  48. package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
  49. package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
  50. package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
  51. package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
  52. package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
  53. package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
  54. package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
  55. package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
  56. package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
  57. package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
  58. package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
  59. package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
  60. package/dist/adapters/database/errors/conflict.d.ts +2 -2
  61. package/dist/adapters/database/errors/conflict.d.ts.map +1 -1
  62. package/dist/adapters/database/errors/conflict.mjs +6 -3
  63. package/dist/adapters/database/errors/conflict.mjs.map +1 -1
  64. package/dist/adapters/database/event-publisher/module.mjs.map +1 -1
  65. package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
  66. package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
  67. package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
  68. package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
  69. package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
  70. package/dist/adapters/database/logger/module.mjs.map +1 -1
  71. package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -1
  72. package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -1
  73. package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -1
  74. package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -1
  75. package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -1
  76. package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -1
  77. package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -1
  78. package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -1
  79. package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -1
  80. package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -1
  81. package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -1
  82. package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -1
  83. package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -1
  84. package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -1
  85. package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
  86. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +2 -2
  87. package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
  88. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +2 -2
  89. package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
  90. package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
  91. package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
  92. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +4 -4
  93. package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
  94. package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  95. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +4 -4
  96. package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
  97. package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
  98. package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
  99. package/dist/adapters/http/controllers/entities/client/module.mjs +10 -6
  100. package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
  101. package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
  102. package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
  103. package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
  104. package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
  105. package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
  106. package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
  107. package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
  108. package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
  109. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -17
  110. package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
  111. package/dist/adapters/http/controllers/entities/permission/module.d.ts +3 -10
  112. package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
  113. package/dist/adapters/http/controllers/entities/permission/module.mjs +16 -49
  114. package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
  115. package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
  116. package/dist/adapters/http/controllers/entities/policy/module.d.ts +3 -7
  117. package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
  118. package/dist/adapters/http/controllers/entities/policy/module.mjs +16 -39
  119. package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
  120. package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -1
  121. package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
  122. package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
  123. package/dist/adapters/http/controllers/entities/realm/module.mjs +1 -1
  124. package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
  125. package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
  126. package/dist/adapters/http/controllers/entities/robot/module.mjs +11 -7
  127. package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
  128. package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
  129. package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -1
  130. package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
  131. package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -1
  132. package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
  133. package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
  134. package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
  135. package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
  136. package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
  137. package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
  138. package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
  139. package/dist/adapters/http/controllers/entities/user/module.mjs +7 -3
  140. package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
  141. package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
  142. package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
  143. package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
  144. package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
  145. package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
  146. package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
  147. package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
  148. package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -1
  149. package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
  150. package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
  151. package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
  152. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
  153. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +3 -4
  154. package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
  155. package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
  156. package/dist/adapters/http/controllers/workflows/jwks/module.mjs +3 -4
  157. package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
  158. package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
  159. package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
  160. package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
  161. package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
  162. package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
  163. package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
  164. package/dist/adapters/http/controllers/workflows/token/module.mjs +6 -6
  165. package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
  166. package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
  167. package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -1
  168. package/dist/adapters/http/index.mjs +4 -1
  169. package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
  170. package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
  171. package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -2
  172. package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
  173. package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
  174. package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
  175. package/dist/adapters/http/middleware/built-in/error.mjs +5 -3
  176. package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
  177. package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
  178. package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
  179. package/dist/adapters/http/middleware/built-in/index.mjs +4 -1
  180. package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
  181. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +1 -1
  182. package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
  183. package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
  184. package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
  185. package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
  186. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts +4 -0
  187. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts.map +1 -0
  188. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs +14 -0
  189. package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs.map +1 -0
  190. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts +4 -0
  191. package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts.map +1 -0
  192. package/dist/adapters/http/middleware/built-in/realm-resolver/index.mjs +3 -0
  193. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts +9 -0
  194. package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -0
  195. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +26 -0
  196. package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -0
  197. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts +5 -0
  198. package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts.map +1 -0
  199. package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
  200. package/dist/adapters/http/middleware/index.mjs +3 -1
  201. package/dist/adapters/http/request/helpers/actor.d.ts +1 -1
  202. package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
  203. package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
  204. package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
  205. package/dist/adapters/http/request/helpers/identity.mjs +1 -1
  206. package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
  207. package/dist/adapters/http/request/helpers/index.d.ts +1 -0
  208. package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
  209. package/dist/adapters/http/request/helpers/index.mjs +2 -1
  210. package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
  211. package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
  212. package/dist/adapters/http/request/helpers/realm-id.d.ts +5 -0
  213. package/dist/adapters/http/request/helpers/realm-id.d.ts.map +1 -0
  214. package/dist/adapters/http/request/helpers/realm-id.mjs +19 -0
  215. package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -0
  216. package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
  217. package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
  218. package/dist/adapters/http/request/index.mjs +2 -1
  219. package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
  220. package/dist/adapters/http/request/permission/module.mjs.map +1 -1
  221. package/dist/adapters/shared/ldap/factory.mjs.map +1 -1
  222. package/dist/adapters/shared/ldap/module.mjs.map +1 -1
  223. package/dist/app/builder.mjs.map +1 -1
  224. package/dist/app/factory.mjs.map +1 -1
  225. package/dist/app/modules/authentication/constants.mjs.map +1 -1
  226. package/dist/app/modules/authentication/module.mjs.map +1 -1
  227. package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
  228. package/dist/app/modules/cache/constants.mjs.map +1 -1
  229. package/dist/app/modules/cache/module.mjs.map +1 -1
  230. package/dist/app/modules/components/module.mjs.map +1 -1
  231. package/dist/app/modules/config/constants.mjs.map +1 -1
  232. package/dist/app/modules/config/module.mjs.map +1 -1
  233. package/dist/app/modules/config/normalize.mjs.map +1 -1
  234. package/dist/app/modules/config/parse.mjs.map +1 -1
  235. package/dist/app/modules/config/read/env.mjs.map +1 -1
  236. package/dist/app/modules/config/read/fs.mjs.map +1 -1
  237. package/dist/app/modules/config/read/module.mjs.map +1 -1
  238. package/dist/app/modules/constants.mjs.map +1 -1
  239. package/dist/app/modules/database/constants.mjs.map +1 -1
  240. package/dist/app/modules/database/module.mjs.map +1 -1
  241. package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
  242. package/dist/app/modules/database/repositories/client/repository.d.ts +2 -1
  243. package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
  244. package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
  245. package/dist/app/modules/database/repositories/client-permission/repository.d.ts +1 -1
  246. package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
  247. package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
  248. package/dist/app/modules/database/repositories/client-role/repository.d.ts +1 -1
  249. package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
  250. package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
  251. package/dist/app/modules/database/repositories/client-scope/repository.d.ts +1 -1
  252. package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
  253. package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
  254. package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
  255. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
  256. package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
  257. package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
  258. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
  259. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
  260. package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
  261. package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
  262. package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
  263. package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
  264. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
  265. package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
  266. package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
  267. package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
  268. package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
  269. package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
  270. package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
  271. package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
  272. package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
  273. package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
  274. package/dist/app/modules/database/repositories/robot/repository.d.ts +2 -1
  275. package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
  276. package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
  277. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +1 -1
  278. package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +1 -1
  279. package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -1
  280. package/dist/app/modules/database/repositories/robot-role/repository.d.ts +2 -1
  281. package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +1 -1
  282. package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -1
  283. package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
  284. package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
  285. package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
  286. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
  287. package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
  288. package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
  289. package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
  290. package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
  291. package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
  292. package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
  293. package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
  294. package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
  295. package/dist/app/modules/database/repositories/user/repository.d.ts +2 -1
  296. package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
  297. package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
  298. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
  299. package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
  300. package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
  301. package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
  302. package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
  303. package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
  304. package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
  305. package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
  306. package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
  307. package/dist/app/modules/http/constants.mjs.map +1 -1
  308. package/dist/app/modules/http/module.mjs.map +1 -1
  309. package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
  310. package/dist/app/modules/http/modules/controller.mjs +27 -19
  311. package/dist/app/modules/http/modules/controller.mjs.map +1 -1
  312. package/dist/app/modules/http/modules/middleware.d.ts +1 -0
  313. package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
  314. package/dist/app/modules/http/modules/middleware.mjs +10 -0
  315. package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
  316. package/dist/app/modules/identity/constants.mjs.map +1 -1
  317. package/dist/app/modules/identity/module.mjs.map +1 -1
  318. package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
  319. package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
  320. package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
  321. package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
  322. package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
  323. package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
  324. package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
  325. package/dist/app/modules/ldap/constants.mjs.map +1 -1
  326. package/dist/app/modules/ldap/module.mjs.map +1 -1
  327. package/dist/app/modules/logger/constants.mjs.map +1 -1
  328. package/dist/app/modules/logger/module.mjs.map +1 -1
  329. package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -1
  330. package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -1
  331. package/dist/app/modules/mail/adapter/void.mjs.map +1 -1
  332. package/dist/app/modules/mail/constants.mjs.map +1 -1
  333. package/dist/app/modules/mail/module.mjs.map +1 -1
  334. package/dist/app/modules/oauth2/constants.mjs.map +1 -1
  335. package/dist/app/modules/oauth2/module.mjs.map +1 -1
  336. package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -1
  337. package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
  338. package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
  339. package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
  340. package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
  341. package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
  342. package/dist/app/modules/provisioning/module.mjs.map +1 -1
  343. package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
  344. package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
  345. package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
  346. package/dist/app/modules/runtime/module.mjs.map +1 -1
  347. package/dist/cli/commands/healthcheck.mjs.map +1 -1
  348. package/dist/cli/commands/migration.mjs.map +1 -1
  349. package/dist/cli/commands/reset.mjs.map +1 -1
  350. package/dist/cli/commands/start.mjs.map +1 -1
  351. package/dist/cli/index.mjs.map +1 -1
  352. package/dist/cli/module.mjs.map +1 -1
  353. package/dist/components/database/unique-entries/factory.mjs.map +1 -1
  354. package/dist/components/database/unique-entries/module.mjs.map +1 -1
  355. package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
  356. package/dist/core/authentication/base.mjs.map +1 -1
  357. package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
  358. package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -1
  359. package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -1
  360. package/dist/core/authentication/entities/client/module.d.ts.map +1 -1
  361. package/dist/core/authentication/entities/client/module.mjs +7 -5
  362. package/dist/core/authentication/entities/client/module.mjs.map +1 -1
  363. package/dist/core/authentication/entities/robot/module.d.ts.map +1 -1
  364. package/dist/core/authentication/entities/robot/module.mjs +5 -4
  365. package/dist/core/authentication/entities/robot/module.mjs.map +1 -1
  366. package/dist/core/authentication/entities/user/module.d.ts.map +1 -1
  367. package/dist/core/authentication/entities/user/module.mjs +5 -4
  368. package/dist/core/authentication/entities/user/module.mjs.map +1 -1
  369. package/dist/core/authentication/module.mjs.map +1 -1
  370. package/dist/core/authentication/session/module.mjs.map +1 -1
  371. package/dist/core/entities/client/service.d.ts +2 -3
  372. package/dist/core/entities/client/service.d.ts.map +1 -1
  373. package/dist/core/entities/client/service.mjs +8 -8
  374. package/dist/core/entities/client/service.mjs.map +1 -1
  375. package/dist/core/entities/client/types.d.ts +1 -2
  376. package/dist/core/entities/client/types.d.ts.map +1 -1
  377. package/dist/core/entities/client-permission/service.d.ts +2 -3
  378. package/dist/core/entities/client-permission/service.d.ts.map +1 -1
  379. package/dist/core/entities/client-permission/service.mjs +8 -7
  380. package/dist/core/entities/client-permission/service.mjs.map +1 -1
  381. package/dist/core/entities/client-permission/types.d.ts +1 -2
  382. package/dist/core/entities/client-permission/types.d.ts.map +1 -1
  383. package/dist/core/entities/client-role/service.d.ts +2 -3
  384. package/dist/core/entities/client-role/service.d.ts.map +1 -1
  385. package/dist/core/entities/client-role/service.mjs +9 -8
  386. package/dist/core/entities/client-role/service.mjs.map +1 -1
  387. package/dist/core/entities/client-role/types.d.ts +1 -2
  388. package/dist/core/entities/client-role/types.d.ts.map +1 -1
  389. package/dist/core/entities/client-scope/service.d.ts +2 -3
  390. package/dist/core/entities/client-scope/service.d.ts.map +1 -1
  391. package/dist/core/entities/client-scope/service.mjs +7 -6
  392. package/dist/core/entities/client-scope/service.mjs.map +1 -1
  393. package/dist/core/entities/client-scope/types.d.ts +1 -2
  394. package/dist/core/entities/client-scope/types.d.ts.map +1 -1
  395. package/dist/core/entities/identity-provider/types.d.ts +1 -1
  396. package/dist/core/entities/identity-provider/types.d.ts.map +1 -1
  397. package/dist/core/entities/identity-provider-role-mapping/service.d.ts +2 -3
  398. package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
  399. package/dist/core/entities/identity-provider-role-mapping/service.mjs +10 -9
  400. package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
  401. package/dist/core/entities/identity-provider-role-mapping/types.d.ts +1 -2
  402. package/dist/core/entities/identity-provider-role-mapping/types.d.ts.map +1 -1
  403. package/dist/core/entities/index.d.ts +0 -3
  404. package/dist/core/entities/index.d.ts.map +1 -1
  405. package/dist/core/entities/index.mjs +1 -2
  406. package/dist/core/entities/permission/service.d.ts +2 -3
  407. package/dist/core/entities/permission/service.d.ts.map +1 -1
  408. package/dist/core/entities/permission/service.mjs +8 -9
  409. package/dist/core/entities/permission/service.mjs.map +1 -1
  410. package/dist/core/entities/permission/types.d.ts +1 -2
  411. package/dist/core/entities/permission/types.d.ts.map +1 -1
  412. package/dist/core/entities/permission-policy/service.d.ts +2 -3
  413. package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
  414. package/dist/core/entities/permission-policy/service.mjs +7 -6
  415. package/dist/core/entities/permission-policy/service.mjs.map +1 -1
  416. package/dist/core/entities/permission-policy/types.d.ts +1 -2
  417. package/dist/core/entities/permission-policy/types.d.ts.map +1 -1
  418. package/dist/core/entities/policy/attributes-validator.mjs.map +1 -1
  419. package/dist/core/entities/policy/service.d.ts +2 -3
  420. package/dist/core/entities/policy/service.d.ts.map +1 -1
  421. package/dist/core/entities/policy/service.mjs +8 -8
  422. package/dist/core/entities/policy/service.mjs.map +1 -1
  423. package/dist/core/entities/policy/types.d.ts +1 -2
  424. package/dist/core/entities/policy/types.d.ts.map +1 -1
  425. package/dist/core/entities/realm/service.d.ts +2 -3
  426. package/dist/core/entities/realm/service.d.ts.map +1 -1
  427. package/dist/core/entities/realm/service.mjs +8 -8
  428. package/dist/core/entities/realm/service.mjs.map +1 -1
  429. package/dist/core/entities/realm/types.d.ts +1 -2
  430. package/dist/core/entities/realm/types.d.ts.map +1 -1
  431. package/dist/core/entities/robot/service.d.ts +2 -3
  432. package/dist/core/entities/robot/service.d.ts.map +1 -1
  433. package/dist/core/entities/robot/service.mjs +8 -8
  434. package/dist/core/entities/robot/service.mjs.map +1 -1
  435. package/dist/core/entities/robot/types.d.ts +1 -2
  436. package/dist/core/entities/robot/types.d.ts.map +1 -1
  437. package/dist/core/entities/robot-permission/service.d.ts +2 -3
  438. package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
  439. package/dist/core/entities/robot-permission/service.mjs +8 -7
  440. package/dist/core/entities/robot-permission/service.mjs.map +1 -1
  441. package/dist/core/entities/robot-permission/types.d.ts +1 -2
  442. package/dist/core/entities/robot-permission/types.d.ts.map +1 -1
  443. package/dist/core/entities/robot-role/service.d.ts +2 -3
  444. package/dist/core/entities/robot-role/service.d.ts.map +1 -1
  445. package/dist/core/entities/robot-role/service.mjs +9 -8
  446. package/dist/core/entities/robot-role/service.mjs.map +1 -1
  447. package/dist/core/entities/robot-role/types.d.ts +1 -2
  448. package/dist/core/entities/robot-role/types.d.ts.map +1 -1
  449. package/dist/core/entities/role/service.d.ts +2 -3
  450. package/dist/core/entities/role/service.d.ts.map +1 -1
  451. package/dist/core/entities/role/service.mjs +8 -8
  452. package/dist/core/entities/role/service.mjs.map +1 -1
  453. package/dist/core/entities/role/types.d.ts +1 -2
  454. package/dist/core/entities/role/types.d.ts.map +1 -1
  455. package/dist/core/entities/role-attribute/service.d.ts +2 -3
  456. package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
  457. package/dist/core/entities/role-attribute/service.mjs +5 -5
  458. package/dist/core/entities/role-attribute/service.mjs.map +1 -1
  459. package/dist/core/entities/role-attribute/types.d.ts +1 -2
  460. package/dist/core/entities/role-attribute/types.d.ts.map +1 -1
  461. package/dist/core/entities/role-permission/service.d.ts +2 -3
  462. package/dist/core/entities/role-permission/service.d.ts.map +1 -1
  463. package/dist/core/entities/role-permission/service.mjs +8 -7
  464. package/dist/core/entities/role-permission/service.mjs.map +1 -1
  465. package/dist/core/entities/role-permission/types.d.ts +1 -2
  466. package/dist/core/entities/role-permission/types.d.ts.map +1 -1
  467. package/dist/core/entities/scope/service.d.ts +2 -3
  468. package/dist/core/entities/scope/service.d.ts.map +1 -1
  469. package/dist/core/entities/scope/service.mjs +8 -8
  470. package/dist/core/entities/scope/service.mjs.map +1 -1
  471. package/dist/core/entities/scope/types.d.ts +1 -2
  472. package/dist/core/entities/scope/types.d.ts.map +1 -1
  473. package/dist/core/entities/user/service.d.ts +2 -3
  474. package/dist/core/entities/user/service.d.ts.map +1 -1
  475. package/dist/core/entities/user/service.mjs +8 -8
  476. package/dist/core/entities/user/service.mjs.map +1 -1
  477. package/dist/core/entities/user/types.d.ts +1 -2
  478. package/dist/core/entities/user/types.d.ts.map +1 -1
  479. package/dist/core/entities/user-attribute/service.d.ts +2 -3
  480. package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
  481. package/dist/core/entities/user-attribute/service.mjs +8 -8
  482. package/dist/core/entities/user-attribute/service.mjs.map +1 -1
  483. package/dist/core/entities/user-attribute/types.d.ts +1 -2
  484. package/dist/core/entities/user-attribute/types.d.ts.map +1 -1
  485. package/dist/core/entities/user-permission/service.d.ts +2 -3
  486. package/dist/core/entities/user-permission/service.d.ts.map +1 -1
  487. package/dist/core/entities/user-permission/service.mjs +8 -7
  488. package/dist/core/entities/user-permission/service.mjs.map +1 -1
  489. package/dist/core/entities/user-permission/types.d.ts +1 -2
  490. package/dist/core/entities/user-permission/types.d.ts.map +1 -1
  491. package/dist/core/entities/user-role/service.d.ts +2 -3
  492. package/dist/core/entities/user-role/service.d.ts.map +1 -1
  493. package/dist/core/entities/user-role/service.mjs +9 -8
  494. package/dist/core/entities/user-role/service.mjs.map +1 -1
  495. package/dist/core/entities/user-role/types.d.ts +1 -2
  496. package/dist/core/entities/user-role/types.d.ts.map +1 -1
  497. package/dist/core/identity/index.d.ts +1 -0
  498. package/dist/core/identity/index.d.ts.map +1 -1
  499. package/dist/core/identity/index.mjs +4 -1
  500. package/dist/core/identity/password-recovery/check.d.ts +7 -0
  501. package/dist/core/identity/password-recovery/check.d.ts.map +1 -0
  502. package/dist/core/identity/password-recovery/check.mjs +24 -0
  503. package/dist/core/identity/password-recovery/check.mjs.map +1 -0
  504. package/dist/core/identity/password-recovery/disabled.d.ts +6 -0
  505. package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -0
  506. package/dist/core/identity/password-recovery/disabled.mjs +16 -0
  507. package/dist/core/identity/password-recovery/disabled.mjs.map +1 -0
  508. package/dist/core/identity/password-recovery/email-verification-required.d.ts +6 -0
  509. package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -0
  510. package/dist/core/identity/password-recovery/email-verification-required.mjs +16 -0
  511. package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -0
  512. package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
  513. package/dist/core/identity/password-recovery/service.mjs +10 -7
  514. package/dist/core/identity/password-recovery/service.mjs.map +1 -1
  515. package/dist/core/identity/password-recovery/token-expired.d.ts +6 -0
  516. package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -0
  517. package/dist/core/identity/password-recovery/token-expired.mjs +16 -0
  518. package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -0
  519. package/dist/core/identity/permission/checker/index.d.ts +3 -0
  520. package/dist/core/identity/permission/checker/index.d.ts.map +1 -0
  521. package/dist/core/identity/permission/checker/index.mjs +2 -0
  522. package/dist/core/identity/permission/checker/service.d.ts +10 -0
  523. package/dist/core/identity/permission/checker/service.d.ts.map +1 -0
  524. package/dist/core/identity/permission/checker/service.mjs +55 -0
  525. package/dist/core/identity/permission/checker/service.mjs.map +1 -0
  526. package/dist/core/identity/permission/checker/types.d.ts +42 -0
  527. package/dist/core/identity/permission/checker/types.d.ts.map +1 -0
  528. package/dist/core/identity/permission/identity-policy-data.d.ts +4 -0
  529. package/dist/core/identity/permission/identity-policy-data.d.ts.map +1 -0
  530. package/dist/core/identity/permission/identity-policy-data.mjs +23 -0
  531. package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -0
  532. package/dist/core/identity/permission/index.d.ts +1 -0
  533. package/dist/core/identity/permission/index.d.ts.map +1 -1
  534. package/dist/core/identity/permission/index.mjs +3 -1
  535. package/dist/core/identity/permission/module.mjs.map +1 -1
  536. package/dist/core/identity/policy/checker/index.d.ts +3 -0
  537. package/dist/core/identity/policy/checker/index.d.ts.map +1 -0
  538. package/dist/core/identity/policy/checker/index.mjs +2 -0
  539. package/dist/core/identity/policy/checker/service.d.ts +10 -0
  540. package/dist/core/identity/policy/checker/service.d.ts.map +1 -0
  541. package/dist/core/identity/policy/checker/service.mjs +46 -0
  542. package/dist/core/identity/policy/checker/service.mjs.map +1 -0
  543. package/dist/core/identity/policy/checker/types.d.ts +40 -0
  544. package/dist/core/identity/policy/checker/types.d.ts.map +1 -0
  545. package/dist/core/identity/policy/index.d.ts +2 -0
  546. package/dist/core/identity/policy/index.d.ts.map +1 -0
  547. package/dist/core/identity/policy/index.mjs +3 -0
  548. package/dist/core/identity/provider/account/module.d.ts.map +1 -1
  549. package/dist/core/identity/provider/account/module.mjs +2 -2
  550. package/dist/core/identity/provider/account/module.mjs.map +1 -1
  551. package/dist/core/identity/provider/authentication/constants.mjs.map +1 -1
  552. package/dist/core/identity/provider/authentication/factory.mjs.map +1 -1
  553. package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
  554. package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
  555. package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
  556. package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
  557. package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
  558. package/dist/core/identity/provider/authentication/protocols/ldap/collection.d.ts.map +1 -1
  559. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +3 -2
  560. package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -1
  561. package/dist/core/identity/provider/authentication/protocols/ldap/module.d.ts.map +1 -1
  562. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +7 -4
  563. package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
  564. package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
  565. package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
  566. package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
  567. package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
  568. package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
  569. package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
  570. package/dist/core/identity/registration/check.d.ts +3 -0
  571. package/dist/core/identity/registration/check.d.ts.map +1 -0
  572. package/dist/core/identity/registration/check.mjs +12 -0
  573. package/dist/core/identity/registration/check.mjs.map +1 -0
  574. package/dist/core/identity/registration/error.d.ts +6 -0
  575. package/dist/core/identity/registration/error.d.ts.map +1 -0
  576. package/dist/core/identity/registration/error.mjs +16 -0
  577. package/dist/core/identity/registration/error.mjs.map +1 -0
  578. package/dist/core/identity/registration/service.d.ts.map +1 -1
  579. package/dist/core/identity/registration/service.mjs +4 -3
  580. package/dist/core/identity/registration/service.mjs.map +1 -1
  581. package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -1
  582. package/dist/core/identity/resolver/module.mjs.map +1 -1
  583. package/dist/core/identity/role/module.mjs.map +1 -1
  584. package/dist/core/index.mjs +5 -4
  585. package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
  586. package/dist/core/oauth2/authorization/code/verifier/module.mjs +8 -8
  587. package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
  588. package/dist/core/oauth2/authorization/code-request/validator.mjs +2 -2
  589. package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
  590. package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
  591. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +8 -8
  592. package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
  593. package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
  594. package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
  595. package/dist/core/oauth2/authorization/module.mjs +4 -4
  596. package/dist/core/oauth2/authorization/module.mjs.map +1 -1
  597. package/dist/core/oauth2/authorization/state/module.mjs +4 -4
  598. package/dist/core/oauth2/authorization/state/module.mjs.map +1 -1
  599. package/dist/core/oauth2/client/authenticator.mjs +6 -6
  600. package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
  601. package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
  602. package/dist/core/oauth2/grant-types/base.mjs.map +1 -1
  603. package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
  604. package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
  605. package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
  606. package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
  607. package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -1
  608. package/dist/core/oauth2/helpers/{erorr.d.ts → error.d.ts} +1 -1
  609. package/dist/core/oauth2/helpers/error.d.ts.map +1 -0
  610. package/dist/core/oauth2/helpers/{erorr.mjs → error.mjs} +6 -7
  611. package/dist/core/oauth2/helpers/error.mjs.map +1 -0
  612. package/dist/core/oauth2/helpers/index.d.ts +1 -1
  613. package/dist/core/oauth2/helpers/index.mjs +1 -1
  614. package/dist/core/oauth2/openid/claims.mjs.map +1 -1
  615. package/dist/core/oauth2/response/bearer.mjs.map +1 -1
  616. package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
  617. package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
  618. package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
  619. package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
  620. package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
  621. package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
  622. package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
  623. package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
  624. package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
  625. package/dist/core/provisioning/entities/client/validator.mjs.map +1 -1
  626. package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
  627. package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
  628. package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
  629. package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -1
  630. package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -1
  631. package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
  632. package/dist/core/provisioning/entities/role/validator.mjs.map +1 -1
  633. package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
  634. package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -1
  635. package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -1
  636. package/dist/core/provisioning/entities/user/validator.mjs.map +1 -1
  637. package/dist/core/provisioning/strategy/normalize.mjs.map +1 -1
  638. package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
  639. package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
  640. package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
  641. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +1 -1
  642. package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
  643. package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
  644. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +1 -1
  645. package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
  646. package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
  647. package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
  648. package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
  649. package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
  650. package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
  651. package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
  652. package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -1
  653. package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
  654. package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
  655. package/dist/core/security/policy/engine.mjs.map +1 -1
  656. package/dist/core/security/policy/evaluator.mjs.map +1 -1
  657. package/dist/index.mjs +4 -1
  658. package/dist/path.mjs.map +1 -1
  659. package/dist/swagger.json +3125 -1269
  660. package/dist/ui/client/.vite/ssr-manifest.json +30 -35
  661. package/dist/ui/client/assets/index-BdPtpN2t.js +66 -0
  662. package/dist/ui/client/index.html +1 -1
  663. package/dist/ui/server/server.js +24261 -972
  664. package/dist/utils/error.d.ts +13 -0
  665. package/dist/utils/error.d.ts.map +1 -1
  666. package/dist/utils/error.mjs +26 -23
  667. package/dist/utils/error.mjs.map +1 -1
  668. package/dist/utils/host.mjs.map +1 -1
  669. package/dist/utils/self-id.mjs.map +1 -1
  670. package/dist/utils/url.mjs.map +1 -1
  671. package/package.json +26 -27
  672. package/dist/core/entities/actor/index.d.ts +0 -2
  673. package/dist/core/entities/actor/index.d.ts.map +0 -1
  674. package/dist/core/entities/actor/types.d.ts +0 -7
  675. package/dist/core/entities/actor/types.d.ts.map +0 -1
  676. package/dist/core/entities/service.d.ts +0 -6
  677. package/dist/core/entities/service.d.ts.map +0 -1
  678. package/dist/core/entities/service.mjs +0 -21
  679. package/dist/core/entities/service.mjs.map +0 -1
  680. package/dist/core/entities/types.d.ts +0 -22
  681. package/dist/core/entities/types.d.ts.map +0 -1
  682. package/dist/core/oauth2/helpers/erorr.d.ts.map +0 -1
  683. package/dist/core/oauth2/helpers/erorr.mjs.map +0 -1
  684. package/dist/ui/client/assets/index-DJBdH-x_.js +0 -64
  685. /package/dist/{core/entities/actor → adapters/http/middleware/built-in/realm-resolver}/types.mjs +0 -0
  686. /package/dist/core/{entities → identity/permission/checker}/types.mjs +0 -0
  687. /package/dist/core/{entities/actor/index.mjs → identity/policy/checker/types.mjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/jwks/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAStD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGvE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;CACpC,CAAC;AAEF,qBACa,aAAa;IACtB,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEhC,GAAG,EAAE,oBAAoB;IAK/B,WAAW,CACD,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAkClC,UAAU,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+BvE"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/jwks/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAStD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGvE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;CACpC,CAAC;AAEF,qBACa,aAAa;IACtB,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEhC,GAAG,EAAE,oBAAoB;IAK/B,WAAW,CACD,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC;QAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC;IAkClC,UAAU,CAAc,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA+BvE"}
@@ -2,8 +2,7 @@ import { getRequestStringParam } from "../../../request/helpers/param-id.mjs";
2
2
  import "../../../request/index.mjs";
3
3
  import { In } from "typeorm";
4
4
  import { AsymmetricKey } from "@authup/server-kit";
5
- import { JWKType } from "@authup/specs";
6
- import { BadRequestError, NotFoundError } from "@ebec/http";
5
+ import { JWKError, JWKType } from "@authup/specs";
7
6
  import { DContext, DController, DGet, DPath } from "@routup/decorators";
8
7
  //#region src/adapters/http/controllers/workflows/jwks/module.ts
9
8
  function _ts_decorate(decorators, target, key, desc) {
@@ -49,8 +48,8 @@ var JwkController = class {
49
48
  type: In([JWKType.RSA, JWKType.EC]),
50
49
  id
51
50
  } });
52
- if (!entity) throw new NotFoundError();
53
- if (!entity.encryption_key) throw new BadRequestError("The encryption key does not exist");
51
+ if (!entity) throw JWKError.notFound(id);
52
+ if (!entity.encryption_key) throw JWKError.encryptionKeyMissing();
54
53
  return {
55
54
  ...await (await AsymmetricKey.fromBase64({
56
55
  format: "spki",
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["JWKType","AsymmetricKey","DContext","DController","DGet","DPath","In","BadRequestError","NotFoundError","getRequestStringParam","JwkController","repository","ctx","getManyJwks","event","realmId","entities","find","where","type","RSA","EC","realm_id","order","priority","promises","filter","entity","encryption_key","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","signature_algorithm","then","container","toJWK","kid","id","alg","keys","Promise","all","getOneJwks","findOne","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 type { OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKType } from '@authup/specs';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport { BadRequestError, NotFoundError } from '@ebec/http';\nimport type { KeyEntity } from '../../../../database/domains/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: IRoutupEvent,\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 ...(realmId ? { realm_id: realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter((entity): entity is KeyEntity & { encryption_key: string } => !!entity.encryption_key)\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((key) => ({\n ...key,\n kid: entity.id,\n alg: entity.signature_algorithm,\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 id,\n },\n });\n\n if (!entity) {\n throw new NotFoundError();\n }\n\n if (!entity.encryption_key) {\n throw new BadRequestError('The encryption key does not exist');\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\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signature_algorithm,\n };\n }\n}\n"],"mappings":";;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAuBD,IAAaU,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;AACnC,OAAKD,aAAaC,IAAID;;CAG1B,MACME,YACF,OACqC;EACrC,MAAME,UAAUN,sBAAsBK,OAAO,UAAA;EAU7C,MAAMW,YAAWT,MARM,KAAKL,WAAWM,KAAK;GACxCC,OAAO;IACHC,MAAMb,GAAG,CAACN,QAAQoB,KAAKpB,QAAQqB,GAAG,CAAA;IAClC,GAAIN,UAAU,EAAEO,UAAUP,SAAQ,GAAI,EAAE;IAC5C;GACAQ,OAAO,EAAEC,UAAU,QAAO;GAC9B,CAAA,EAGKE,QAAQC,WAA6D,CAAC,CAACA,OAAOC,eAAc,CAC5FC,KACIF,WAAW1B,cACP6B,WAAW;GACRC,QAAQ;GACRC,KAAKL,OAAOC;GACZK,SAAShC,cAAciC,kCAAkCP,OAAOQ,oBAAmB;GACvF,CAAA,CACCC,MAAMC,cAAcA,UAAUC,OAAK,CAAA,CACnCF,MAAMJ,SAAS;GACZ,GAAGA;GACHO,KAAKZ,OAAOa;GACZC,KAAKd,OAAOQ;GAChB,EAAA,CAAA;AAKZ,SAAO,EAAEO,MAAAA,MAFUC,QAAQC,IAAInB,SAAAA,EAEjB;;CAGlB,MACMoB,WAAW,IAAoD;EACjE,MAAMlB,SAAS,MAAM,KAAKhB,WAAWmC,QAAQ,EACzC5B,OAAO;GACHC,MAAMb,GAAG,CAACN,QAAQoB,KAAKpB,QAAQqB,GAAG,CAAA;GAClCmB;GACJ,EACJ,CAAA;AAEA,MAAI,CAACb,OACD,OAAM,IAAInB,eAAAA;AAGd,MAAI,CAACmB,OAAOC,eACR,OAAM,IAAIrB,gBAAgB,oCAAA;AAY9B,SAAO;GACH,GAAGwC,OAHkBV,MAPDpC,cACnB6B,WAAW;IACRC,QAAQ;IACRC,KAAKL,OAAOC;IACZK,SAAShC,cAAciC,kCAAkCP,OAAOQ,oBAAmB;IACvF,CAAA,EAE+BG,OAAK;GAIpCC,KAAKZ,OAAOa;GACZC,KAAKd,OAAOQ;GAChB"}
1
+ {"version":3,"file":"module.mjs","names":["JWKError","JWKType","AsymmetricKey","DContext","DController","DGet","DPath","In","getRequestStringParam","JwkController","repository","ctx","getManyJwks","event","realmId","entities","find","where","type","RSA","EC","realm_id","order","priority","promises","filter","entity","encryption_key","map","fromBase64","format","key","options","buildImportOptionsForJWTAlgorithm","signature_algorithm","then","container","toJWK","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 type { OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKError, JWKType } from '@authup/specs';\nimport { AsymmetricKey } from '@authup/server-kit';\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport type { KeyEntity } from '../../../../database/domains/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: IRoutupEvent,\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 ...(realmId ? { realm_id: realmId } : {}),\n },\n order: { priority: 'DESC' },\n });\n\n const promises = entities\n .filter((entity): entity is KeyEntity & { encryption_key: string } => !!entity.encryption_key)\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((key) => ({\n ...key,\n kid: entity.id,\n alg: entity.signature_algorithm,\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 id,\n },\n });\n\n if (!entity) {\n throw JWKError.notFound(id);\n }\n\n if (!entity.encryption_key) {\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\n return {\n ...jsonWebKey,\n kid: entity.id,\n alg: entity.signature_algorithm,\n };\n }\n}\n"],"mappings":";;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAsBD,IAAaS,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;EACnC,KAAKD,aAAaC,IAAID;CAC1B;CAEA,MACME,YACF,OACqC;EACrC,MAAME,UAAUN,sBAAsBK,OAAO,SAAA;EAU7C,MAAMW,YAAWT,MARM,KAAKL,WAAWM,KAAK;GACxCC,OAAO;IACHC,MAAMX,GAAG,CAACN,QAAQkB,KAAKlB,QAAQmB,EAAAA,CAAG;IAClC,GAAIN,UAAU,EAAEO,UAAUP,QAAQ,IAAI,CAAC;GAC3C;GACAQ,OAAO,EAAEC,UAAU,OAAO;EAC9B,CAAA,GAGKE,QAAQC,WAA6D,CAAC,CAACA,OAAOC,cAAc,EAC5FC,KACIF,WAAWxB,cACP2B,WAAW;GACRC,QAAQ;GACRC,KAAKL,OAAOC;GACZK,SAAS9B,cAAc+B,kCAAkCP,OAAOQ,mBAAmB;EACvF,CAAA,EACCC,MAAMC,cAAcA,UAAUC,MAAK,CAAA,EACnCF,MAAMJ,SAAS;GACZ,GAAGA;GACHO,KAAKZ,OAAOa;GACZC,KAAKd,OAAOQ;EAChB,EAAA,CAAA;EAKZ,OAAO,EAAEO,MAAAA,MAFUC,QAAQC,IAAInB,QAAAA,EAEjB;CAClB;CAEA,MACMoB,WAAW,IAAoD;EACjE,MAAMlB,SAAS,MAAM,KAAKhB,WAAWmC,QAAQ,EACzC5B,OAAO;GACHC,MAAMX,GAAG,CAACN,QAAQkB,KAAKlB,QAAQmB,EAAAA,CAAG;GAClCmB;EACJ,EACJ,CAAA;EAEA,IAAI,CAACb,QACD,MAAM1B,SAAS8C,SAASP,EAAAA;EAG5B,IAAI,CAACb,OAAOC,gBACR,MAAM3B,SAAS+C,qBAAoB;EAYvC,OAAO;GACH,GAAGC,OAHkBZ,MAPDlC,cACnB2B,WAAW;IACRC,QAAQ;IACRC,KAAKL,OAAOC;IACZK,SAAS9B,cAAc+B,kCAAkCP,OAAOQ,mBAAmB;GACvF,CAAA,GAE+BG,MAAK;GAIpCC,KAAKZ,OAAOa;GACZC,KAAKd,OAAOQ;EAChB;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["OAuth2AuthorizationResponseType","DController","DGet","resolveURL","OpenIDController","options","getOpenIdConfiguration","baseURL","issuer","authorization_endpoint","jwks_uri","response_types_supported","CODE","TOKEN","NONE","subject_types_supported","id_token_signing_alg_values_supported","token_endpoint","introspection_endpoint","revocation_endpoint","service_documentation","userinfo_endpoint"],"sources":["../../../../../../src/adapters/http/controllers/workflows/openid/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 type { OpenIDProviderMetadata } from '@authup/specs';\nimport { OAuth2AuthorizationResponseType } from '@authup/specs';\nimport {\n DController,\n DGet,\n} from '@routup/decorators';\nimport { resolveURL } from '../../../../../utils/index.ts';\n\nexport type OpenIDControllerOptions = {\n baseURL: string\n};\n\n@DController('')\nexport class OpenIDController {\n protected options: OpenIDControllerOptions;\n\n constructor(options: OpenIDControllerOptions) {\n this.options = options;\n }\n\n @DGet('/.well-known/openid-configuration', [])\n async getOpenIdConfiguration(): Promise<OpenIDProviderMetadata> {\n const { baseURL } = this.options;\n return {\n issuer: baseURL,\n\n authorization_endpoint: resolveURL(baseURL, 'authorize'),\n\n jwks_uri: resolveURL(baseURL, 'jwks'),\n\n response_types_supported: [\n OAuth2AuthorizationResponseType.CODE,\n OAuth2AuthorizationResponseType.TOKEN,\n OAuth2AuthorizationResponseType.NONE,\n ],\n\n subject_types_supported: [\n 'public',\n ],\n\n id_token_signing_alg_values_supported: [\n 'HS256',\n 'HS384',\n 'HS512',\n 'RS256',\n 'RS384',\n 'RS512',\n 'none',\n ],\n\n token_endpoint: resolveURL(baseURL, 'token'),\n\n introspection_endpoint: resolveURL(baseURL, 'token/introspect'),\n\n revocation_endpoint: resolveURL(baseURL, 'token'),\n\n // -----------------------------------------------------------\n\n service_documentation: 'https://authup.org/',\n\n userinfo_endpoint: resolveURL(baseURL, 'users/@me'),\n };\n }\n}\n"],"mappings":";;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAeD,IAAaI,mBAAb,MAAaA;CACCC;CAEV,YAAYA,SAAkC;AAC1C,OAAKA,UAAUA;;CAGnB,MACMC,yBAA0D;EAC5D,MAAM,EAAEC,YAAY,KAAKF;AACzB,SAAO;GACHG,QAAQD;GAERE,wBAAwBN,WAAWI,SAAS,YAAA;GAE5CG,UAAUP,WAAWI,SAAS,OAAA;GAE9BI,0BAA0B;IACtBX,gCAAgCY;IAChCZ,gCAAgCa;IAChCb,gCAAgCc;IACnC;GAEDC,yBAAyB,CACrB,SACH;GAEDC,uCAAuC;IACnC;IACA;IACA;IACA;IACA;IACA;IACA;IACH;GAEDC,gBAAgBd,WAAWI,SAAS,QAAA;GAEpCW,wBAAwBf,WAAWI,SAAS,mBAAA;GAE5CY,qBAAqBhB,WAAWI,SAAS,QAAA;GAIzCa,uBAAuB;GAEvBC,mBAAmBlB,WAAWI,SAAS,YAAA;GAC3C"}
1
+ {"version":3,"file":"module.mjs","names":["OAuth2AuthorizationResponseType","DController","DGet","resolveURL","OpenIDController","options","getOpenIdConfiguration","baseURL","issuer","authorization_endpoint","jwks_uri","response_types_supported","CODE","TOKEN","NONE","subject_types_supported","id_token_signing_alg_values_supported","token_endpoint","introspection_endpoint","revocation_endpoint","service_documentation","userinfo_endpoint"],"sources":["../../../../../../src/adapters/http/controllers/workflows/openid/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 type { OpenIDProviderMetadata } from '@authup/specs';\nimport { OAuth2AuthorizationResponseType } from '@authup/specs';\nimport {\n DController,\n DGet,\n} from '@routup/decorators';\nimport { resolveURL } from '../../../../../utils/index.ts';\n\nexport type OpenIDControllerOptions = {\n baseURL: string\n};\n\n@DController('')\nexport class OpenIDController {\n protected options: OpenIDControllerOptions;\n\n constructor(options: OpenIDControllerOptions) {\n this.options = options;\n }\n\n @DGet('/.well-known/openid-configuration', [])\n async getOpenIdConfiguration(): Promise<OpenIDProviderMetadata> {\n const { baseURL } = this.options;\n return {\n issuer: baseURL,\n\n authorization_endpoint: resolveURL(baseURL, 'authorize'),\n\n jwks_uri: resolveURL(baseURL, 'jwks'),\n\n response_types_supported: [\n OAuth2AuthorizationResponseType.CODE,\n OAuth2AuthorizationResponseType.TOKEN,\n OAuth2AuthorizationResponseType.NONE,\n ],\n\n subject_types_supported: [\n 'public',\n ],\n\n id_token_signing_alg_values_supported: [\n 'HS256',\n 'HS384',\n 'HS512',\n 'RS256',\n 'RS384',\n 'RS512',\n 'none',\n ],\n\n token_endpoint: resolveURL(baseURL, 'token'),\n\n introspection_endpoint: resolveURL(baseURL, 'token/introspect'),\n\n revocation_endpoint: resolveURL(baseURL, 'token'),\n\n // -----------------------------------------------------------\n\n service_documentation: 'https://authup.org/',\n\n userinfo_endpoint: resolveURL(baseURL, 'users/@me'),\n };\n }\n}\n"],"mappings":";;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAeD,IAAaI,mBAAb,MAAaA;CACCC;CAEV,YAAYA,SAAkC;EAC1C,KAAKA,UAAUA;CACnB;CAEA,MACMC,yBAA0D;EAC5D,MAAM,EAAEC,YAAY,KAAKF;EACzB,OAAO;GACHG,QAAQD;GAERE,wBAAwBN,WAAWI,SAAS,WAAA;GAE5CG,UAAUP,WAAWI,SAAS,MAAA;GAE9BI,0BAA0B;IACtBX,gCAAgCY;IAChCZ,gCAAgCa;IAChCb,gCAAgCc;;GAGpCC,yBAAyB,CACrB,QAAA;GAGJC,uCAAuC;IACnC;IACA;IACA;IACA;IACA;IACA;IACA;;GAGJC,gBAAgBd,WAAWI,SAAS,OAAA;GAEpCW,wBAAwBf,WAAWI,SAAS,kBAAA;GAE5CY,qBAAqBhB,WAAWI,SAAS,OAAA;GAIzCa,uBAAuB;GAEvBC,mBAAmBlB,WAAWI,SAAS,WAAA;EAC3C;CACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","PasswordForgotController","service","ctx","execute","data","event","result","forgotPassword","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/password-forgot/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { PasswordForgotPayload, PasswordForgotResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IPasswordRecoveryService } from '../../../../../core/index.ts';\n\nexport type PasswordForgotControllerContext = {\n service: IPasswordRecoveryService,\n};\n\n@DController('/password-forgot')\nexport class PasswordForgotController {\n protected service: IPasswordRecoveryService;\n\n constructor(ctx: PasswordForgotControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: PasswordForgotPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<PasswordForgotResponse> {\n const result = await this.service.forgotPassword(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,2BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAsC;AAC9C,OAAKD,UAAUC,IAAID;;CAGvB,MACME,QACF,MACA,OAC+B;EAC/B,MAAMG,SAAS,MAAM,KAAKL,QAAQM,eAAeH,KAAAA;AAEjDC,QAAMG,SAASC,SAAS;AAExB,SAAOH"}
1
+ {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","PasswordForgotController","service","ctx","execute","data","event","result","forgotPassword","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/password-forgot/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { PasswordForgotPayload, PasswordForgotResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IPasswordRecoveryService } from '../../../../../core/index.ts';\n\nexport type PasswordForgotControllerContext = {\n service: IPasswordRecoveryService,\n};\n\n@DController('/password-forgot')\nexport class PasswordForgotController {\n protected service: IPasswordRecoveryService;\n\n constructor(ctx: PasswordForgotControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: PasswordForgotPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<PasswordForgotResponse> {\n const result = await this.service.forgotPassword(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,2BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAsC;EAC9C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,MACA,OAC+B;EAC/B,MAAMG,SAAS,MAAM,KAAKL,QAAQM,eAAeH,IAAAA;EAEjDC,MAAMG,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","PasswordResetController","service","ctx","execute","data","event","result","resetPassword","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/password-reset/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { PasswordResetPayload, PasswordResetResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IPasswordRecoveryService } from '../../../../../core/index.ts';\n\nexport type PasswordResetControllerContext = {\n service: IPasswordRecoveryService,\n};\n\n@DController('/password-reset')\nexport class PasswordResetController {\n protected service: IPasswordRecoveryService;\n\n constructor(ctx: PasswordResetControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: PasswordResetPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<PasswordResetResponse> {\n const result = await this.service.resetPassword(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,0BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAqC;AAC7C,OAAKD,UAAUC,IAAID;;CAGvB,MACME,QACF,MACA,OAC8B;EAC9B,MAAMG,SAAS,MAAM,KAAKL,QAAQM,cAAcH,KAAAA;AAEhDC,QAAMG,SAASC,SAAS;AAExB,SAAOH"}
1
+ {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","PasswordResetController","service","ctx","execute","data","event","result","resetPassword","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/password-reset/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { PasswordResetPayload, PasswordResetResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IPasswordRecoveryService } from '../../../../../core/index.ts';\n\nexport type PasswordResetControllerContext = {\n service: IPasswordRecoveryService,\n};\n\n@DController('/password-reset')\nexport class PasswordResetController {\n protected service: IPasswordRecoveryService;\n\n constructor(ctx: PasswordResetControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: PasswordResetPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<PasswordResetResponse> {\n const result = await this.service.resetPassword(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,0BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAqC;EAC7C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,MACA,OAC8B;EAC9B,MAAMG,SAAS,MAAM,KAAKL,QAAQM,cAAcH,IAAAA;EAEhDC,MAAMG,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","RegisterController","service","ctx","execute","data","event","result","register","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/register/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { RegisterPayload, RegisterResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IRegistrationService } from '../../../../../core/index.ts';\n\nexport type RegisterControllerContext = {\n service: IRegistrationService,\n};\n\n@DController('/register')\nexport class RegisterController {\n protected service: IRegistrationService;\n\n constructor(ctx: RegisterControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: RegisterPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<RegisterResponse> {\n const result = await this.service.register(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,qBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAgC;AACxC,OAAKD,UAAUC,IAAID;;CAGvB,MACME,QACF,MACA,OACyB;EACzB,MAAMG,SAAS,MAAM,KAAKL,QAAQM,SAASH,KAAAA;AAE3CC,QAAMG,SAASC,SAAS;AAExB,SAAOH"}
1
+ {"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","RegisterController","service","ctx","execute","data","event","result","register","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/register/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 { RegisterPayload, RegisterResponse } from '@authup/core-http-kit';\nimport {\n DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { IRegistrationService } from '../../../../../core/index.ts';\n\nexport type RegisterControllerContext = {\n service: IRegistrationService,\n};\n\n@DController('/register')\nexport class RegisterController {\n protected service: IRegistrationService;\n\n constructor(ctx: RegisterControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: RegisterPayload,\n @DContext() event: IRoutupEvent,\n ): Promise<RegisterResponse> {\n const result = await this.service.register(data);\n\n event.response.status = 202;\n\n return result;\n }\n}\n"],"mappings":";;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AAiBD,IAAaI,qBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAgC;EACxC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,MACA,OACyB;EACzB,MAAMG,SAAS,MAAM,KAAKL,QAAQM,SAASH,IAAAA;EAE3CC,MAAMG,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["DController","DGet","load","path","PACKAGE_PATH","StatusController","status","pkgJson","join","isoDate","Date","toISOString","version","date"],"sources":["../../../../../../src/adapters/http/controllers/workflows/status/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 {\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 EndpointInfo = {\n version: string,\n date: string\n};\n\n@DController('')\nexport class StatusController {\n @DGet('/', [])\n async status(): Promise<EndpointInfo> {\n const pkgJson = await load(path.join(PACKAGE_PATH, 'package.json'));\n const isoDate = new Date().toISOString();\n\n return {\n version: pkgJson.version,\n date: isoDate,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,IAAaK,mBAAb,MAAaA;CACT,MACMC,SAAgC;EAClC,MAAMC,UAAU,MAAML,KAAKC,KAAKK,KAAKJ,cAAc,eAAA,CAAA;EACnD,MAAMK,2BAAU,IAAIC,MAAAA,EAAOC,aAAW;AAEtC,SAAO;GACHC,SAASL,QAAQK;GACjBC,MAAMJ;GACV"}
1
+ {"version":3,"file":"module.mjs","names":["DController","DGet","load","path","PACKAGE_PATH","StatusController","status","pkgJson","join","isoDate","Date","toISOString","version","date"],"sources":["../../../../../../src/adapters/http/controllers/workflows/status/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-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 {\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 EndpointInfo = {\n version: string,\n date: string\n};\n\n@DController('')\nexport class StatusController {\n @DGet('/', [])\n async status(): Promise<EndpointInfo> {\n const pkgJson = await load(path.join(PACKAGE_PATH, 'package.json'));\n const isoDate = new Date().toISOString();\n\n return {\n version: pkgJson.version,\n date: isoDate,\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAqBA,IAAaK,mBAAb,MAAaA;CACT,MACMC,SAAgC;EAClC,MAAMC,UAAU,MAAML,KAAKC,KAAKK,KAAKJ,cAAc,cAAA,CAAA;EACnD,MAAMK,2BAAU,IAAIC,KAAAA,GAAOC,YAAW;EAEtC,OAAO;GACHC,SAASL,QAAQK;GACjBC,MAAMJ;EACV;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,EAAe,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAQ9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,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,WAAW,EAAG,MAAM,CAAC,GAAG,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAI5D,GAAG,EAAE,sBAAsB;IA+CjC,aAAa,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAKzF,cAAc,CACJ,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,gCAAgC,CAAC;IA4DtC,WAAW,CACD,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,IAAI,CAAC;IAkBV,WAAW,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAaxF"}
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,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EACR,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,WAAW,EAAG,MAAM,CAAC,GAAG,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAI5D,GAAG,EAAE,sBAAsB;IA+CjC,aAAa,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAKzF,cAAc,CACJ,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,gCAAgC,CAAC;IA4DtC,WAAW,CACD,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,IAAI,CAAC;IAkBV,WAAW,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAaxF"}
@@ -7,12 +7,12 @@ import { HTTPPasswordGrant } from "../../../adapters/oauth2/grant-types/password
7
7
  import { HTTPOAuth2RefreshTokenGrant } from "../../../adapters/oauth2/grant-types/refresh_token.mjs";
8
8
  import { HTTPRobotCredentialsGrant } from "../../../adapters/oauth2/grant-types/robot-credentials.mjs";
9
9
  import "../../../adapters/index.mjs";
10
- import { toOAuth2Error } from "../../../../../core/oauth2/helpers/erorr.mjs";
10
+ import { toOAuth2Error } from "../../../../../core/oauth2/helpers/error.mjs";
11
11
  import "../../../../../core/oauth2/helpers/index.mjs";
12
12
  import { extractTokenFromRequest } from "./utils/extract.mjs";
13
13
  import "./utils/index.mjs";
14
14
  import { buildPermissionKey } from "@authup/access";
15
- import { OAuth2Error, OAuth2TokenGrant } from "@authup/specs";
15
+ import { OAuth2GrantTypeError, OAuth2RequestError, OAuth2TokenGrant } from "@authup/specs";
16
16
  import { DContext, DController, DGet, DPost, DTags } from "@routup/decorators";
17
17
  //#region src/adapters/http/controllers/workflows/token/module.ts
18
18
  function _ts_decorate(decorators, target, key, desc) {
@@ -86,7 +86,7 @@ var TokenController = class {
86
86
  try {
87
87
  const token = await extractTokenFromRequest(event);
88
88
  const payload = await this.tokenVerifier.verify(token, { skipActiveCheck: true });
89
- if (!payload.sub || !payload.sub_kind) throw OAuth2Error.identityInvalid();
89
+ if (!payload.sub || !payload.sub_kind) throw OAuth2RequestError.identityInvalid();
90
90
  const permissions = await this.identityPermissionProvider.getFor({
91
91
  id: payload.sub,
92
92
  type: payload.sub_kind,
@@ -94,7 +94,7 @@ var TokenController = class {
94
94
  realmId: payload.realm_id
95
95
  });
96
96
  const identity = await this.identityResolver.resolve(payload.sub_kind, payload.sub);
97
- if (!identity) throw OAuth2Error.identityInvalid();
97
+ if (!identity) throw OAuth2RequestError.identityInvalid();
98
98
  const claims = new OAuth2OpenIDClaimsBuilder().fromIdentity(identity);
99
99
  let active;
100
100
  if (payload.jti) active = !await this.tokenVerifier.isInactive(payload.jti);
@@ -130,9 +130,9 @@ var TokenController = class {
130
130
  }
131
131
  async createToken(event) {
132
132
  const grantType = await guessOauth2GrantTypeByRequest(event);
133
- if (!grantType) throw OAuth2Error.grantInvalid();
133
+ if (!grantType) throw OAuth2GrantTypeError.unsupported();
134
134
  const grant = this.tokenGrants[grantType];
135
- if (!grant) throw OAuth2Error.grantInvalid();
135
+ if (!grant) throw OAuth2GrantTypeError.unsupported();
136
136
  return grant.runWithRequest(event);
137
137
  }
138
138
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["OAuth2Error","OAuth2TokenGrant","DContext","DController","DGet","DPost","DTags","buildPermissionKey","toOAuth2Error","OAuth2OpenIDClaimsBuilder","HTTPClientCredentialsGrant","HTTPOAuth2AuthorizeGrant","HTTPOAuth2RefreshTokenGrant","HTTPPasswordGrant","HTTPRobotCredentialsGrant","guessOauth2GrantTypeByRequest","extractTokenFromRequest","TokenController","refreshTokenIssuer","accessTokenIssuer","tokenVerifier","tokenRevoker","identityResolver","identityPermissionProvider","tokenGrants","ctx","AUTHORIZATION_CODE","codeVerifier","clientAuthenticator","oauth2ClientAuthenticator","sessionManager","CLIENT_CREDENTIALS","authenticator","ROBOT_CREDENTIALS","robotAuthenticator","PASSWORD","userAuthenticator","REFRESH_TOKEN","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","revoke","response","status","createToken","grantType","grantInvalid","grant","runWithRequest"],"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 { OAuth2Error, OAuth2TokenGrant } from '@authup/specs';\nimport {\n DContext,\n DController,\n DGet,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { buildPermissionKey } from '@authup/access';\nimport { toOAuth2Error } from '../../../../../core/oauth2/helpers/index.ts';\nimport type { TokenControllerContext } from './types.ts';\nimport type {\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 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\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 sessionManager: ctx.sessionManager,\n }),\n [OAuth2TokenGrant.CLIENT_CREDENTIALS]: new HTTPClientCredentialsGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n authenticator: ctx.clientAuthenticator,\n sessionManager: ctx.sessionManager,\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 }),\n [OAuth2TokenGrant.REFRESH_TOKEN]: new HTTPOAuth2RefreshTokenGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n tokenVerifier: ctx.tokenVerifier,\n tokenRevoker: ctx.tokenRevoker,\n sessionManager: ctx.sessionManager,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n }),\n };\n }\n\n // -------------------------------------------\n\n @DGet('/introspect', [])\n async getIntrospect(@DContext() event: IRoutupEvent): Promise<OAuth2TokenIntrospectionResponse> {\n return this.postIntrospect(event);\n }\n\n @DPost('/introspect', [])\n async postIntrospect(\n @DContext() event: IRoutupEvent,\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 OAuth2Error.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 OAuth2Error.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: IRoutupEvent,\n ): Promise<null> {\n try {\n const token = await extractTokenFromRequest(event);\n\n const payload = await this.tokenVerifier.verify(token);\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: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const grantType = await guessOauth2GrantTypeByRequest(event);\n if (!grantType) {\n throw OAuth2Error.grantInvalid();\n }\n\n const grant = this.tokenGrants[grantType];\n if (!grant) {\n throw OAuth2Error.grantInvalid();\n }\n\n return grant.runWithRequest(event);\n }\n}\n"],"mappings":"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"}
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","tokenGrants","ctx","AUTHORIZATION_CODE","codeVerifier","clientAuthenticator","oauth2ClientAuthenticator","sessionManager","CLIENT_CREDENTIALS","authenticator","ROBOT_CREDENTIALS","robotAuthenticator","PASSWORD","userAuthenticator","REFRESH_TOKEN","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","revoke","response","status","createToken","grantType","unsupported","grant","runWithRequest"],"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 { IRoutupEvent } from 'routup';\nimport { buildPermissionKey } from '@authup/access';\nimport { toOAuth2Error } from '../../../../../core/oauth2/helpers/index.ts';\nimport type { TokenControllerContext } from './types.ts';\nimport type {\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 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\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 sessionManager: ctx.sessionManager,\n }),\n [OAuth2TokenGrant.CLIENT_CREDENTIALS]: new HTTPClientCredentialsGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n authenticator: ctx.clientAuthenticator,\n sessionManager: ctx.sessionManager,\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 }),\n [OAuth2TokenGrant.REFRESH_TOKEN]: new HTTPOAuth2RefreshTokenGrant({\n accessTokenIssuer: ctx.accessTokenIssuer,\n refreshTokenIssuer: ctx.refreshTokenIssuer,\n tokenVerifier: ctx.tokenVerifier,\n tokenRevoker: ctx.tokenRevoker,\n sessionManager: ctx.sessionManager,\n clientAuthenticator: ctx.oauth2ClientAuthenticator,\n }),\n };\n }\n\n // -------------------------------------------\n\n @DGet('/introspect', [])\n async getIntrospect(@DContext() event: IRoutupEvent): Promise<OAuth2TokenIntrospectionResponse> {\n return this.postIntrospect(event);\n }\n\n @DPost('/introspect', [])\n async postIntrospect(\n @DContext() event: IRoutupEvent,\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: IRoutupEvent,\n ): Promise<null> {\n try {\n const token = await extractTokenFromRequest(event);\n\n const payload = await this.tokenVerifier.verify(token);\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: IRoutupEvent): 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 return grant.runWithRequest(event);\n }\n}\n"],"mappings":"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"}
@@ -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 { IRoutupEvent } 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: IRoutupEvent) : 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,OAAmB;CAC7D,IAAIC;AAEJ,KAAI;AAMAA,WAAQE,MAJWD,IADGJ,uBACHI,CAAUE,IACzB,MAAMR,kBAAkBI,OAAO;GAAC;GAAQ;GAAS;GAAS,CAAA,CAAA,EAGjDC;UACRI,GAAG;AACR,MAAI,CAACV,eAAeU,EAAAA,CAChB,OAAMA;AAEVJ,UAAQJ,gBAAgBG,MAAAA;;AAG5B,KAAI,CAACC,MACD,OAAM,IAAIT,aAAa,CACnBE,gBAAgB;EACZY,MAAM,CAAC,QAAQ;EACfC,SAASd,8BAA8B,QAAA;EAC3C,CAAA,CACH,CAAA;AAGL,QAAOQ"}
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 { IRoutupEvent } 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: IRoutupEvent) : 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,OAAmB;CAC7D,IAAIC;CAEJ,IAAI;EAMAA,SAAQE,MAJWD,IADGJ,sBACHI,EAAUE,IACzB,MAAMR,kBAAkBI,OAAO;GAAC;GAAQ;GAAS;GAAS,CAAA,GAGjDC;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 +1 @@
1
- {"version":3,"file":"validator.mjs","names":["createValidationChain","createValidator","Container","TokenRequestValidator","initialize","mount","chain","exists","notEmpty","isString","isLength","min","max"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/token/utils/validator.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 { createValidationChain, createValidator } from '@validup/adapter-validator';\nimport { Container } from 'validup';\n\nexport class TokenRequestValidator extends Container<{ token: string }> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'token',\n createValidator(() => {\n const chain = createValidationChain();\n return chain\n .exists()\n .notEmpty()\n .isString()\n .isLength({\n min: 16,\n max: 2048, \n });\n }),\n );\n }\n}\n"],"mappings":";;;AAUA,IAAaG,wBAAb,cAA2CD,UAAAA;CAC7BE,aAAa;AACnB,QAAMA,YAAAA;AAEN,OAAKC,MACD,SACAJ,sBAAgB;AAEZ,UADcD,uBACPM,CACFC,QAAM,CACNC,UAAQ,CACRC,UAAQ,CACRC,SAAS;IACNC,KAAK;IACLC,KAAK;IACT,CAAA;IACR,CAAA"}
1
+ {"version":3,"file":"validator.mjs","names":["createValidationChain","createValidator","Container","TokenRequestValidator","initialize","mount","chain","exists","notEmpty","isString","isLength","min","max"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/token/utils/validator.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 { createValidationChain, createValidator } from '@validup/adapter-validator';\nimport { Container } from 'validup';\n\nexport class TokenRequestValidator extends Container<{ token: string }> {\n protected initialize() {\n super.initialize();\n\n this.mount(\n 'token',\n createValidator(() => {\n const chain = createValidationChain();\n return chain\n .exists()\n .notEmpty()\n .isString()\n .isLength({\n min: 16,\n max: 2048, \n });\n }),\n );\n }\n}\n"],"mappings":";;;AAUA,IAAaG,wBAAb,cAA2CD,UAAAA;CAC7BE,aAAa;EACnB,MAAMA,WAAAA;EAEN,KAAKC,MACD,SACAJ,sBAAgB;GAEZ,OADcD,sBACPM,EACFC,OAAM,EACNC,SAAQ,EACRC,SAAQ,EACRC,SAAS;IACNC,KAAK;IACLC,KAAK;GACT,CAAA;EACR,CAAA,CAAA;CAER;AACJ"}
@@ -5,6 +5,7 @@ import { buildActorContext } from "./request/helpers/actor.mjs";
5
5
  import { getBodyRealmID } from "./request/helpers/body-realm-id.mjs";
6
6
  import { readFromLocations } from "./request/helpers/locations.mjs";
7
7
  import { getRequestParamID, getRequestStringParam, getRequestStringParamOrFail, useRequestParamID } from "./request/helpers/param-id.mjs";
8
+ import { applyRouteRealmIDToBody, getRequestRealmID, setRequestRealmID } from "./request/helpers/realm-id.mjs";
8
9
  import { setRequestScopes, useRequestScopes } from "./request/helpers/scopes.mjs";
9
10
  import { setRequestToken, useRequestToken } from "./request/helpers/token.mjs";
10
11
  import { RequestPermissionEvaluator } from "./request/permission/module.mjs";
@@ -23,6 +24,8 @@ import { AuthorizationMiddleware } from "./middleware/built-in/authorization/mod
23
24
  import { createAuthorizationMiddleware } from "./middleware/built-in/authorization/factory.mjs";
24
25
  import { ForceLoggedInMiddleware } from "./middleware/built-in/loggedin/module.mjs";
25
26
  import { ForceUserLoggedInMiddleware } from "./middleware/built-in/loggedin/user.mjs";
27
+ import { RealmResolverMiddleware } from "./middleware/built-in/realm-resolver/module.mjs";
28
+ import { createRealmResolverMiddleware } from "./middleware/built-in/realm-resolver/factory.mjs";
26
29
  import { VITE_SERVER_STORE_KEY, registerAssetsMiddleware } from "./middleware/built-in/assets.mjs";
27
30
  import { registerBasicMiddleware } from "./middleware/built-in/basic.mjs";
28
31
  import { registerCorsMiddleware } from "./middleware/built-in/cors.mjs";
@@ -76,4 +79,4 @@ import { UserPermissionRequestValidator } from "./controllers/entities/user-perm
76
79
  import { UserRoleController } from "./controllers/entities/user-role/module.mjs";
77
80
  import { UserRoleRequestValidator } from "./controllers/entities/user-role/utils/validation.mjs";
78
81
  import "./controllers/index.mjs";
79
- export { ActivateController, AuthorizationMiddleware, AuthorizeController, ClientController, ClientPermissionController, ClientPermissionRequestValidator, ClientRoleController, ClientRoleRequestValidator, ClientScopeController, ClientScopeRequestValidator, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, HTTPRobotCredentialsGrant, IdentityProviderController, IdentityProviderRoleMappingController, JwkController, OpenIDController, PasswordForgotController, PasswordResetController, PermissionController, PermissionPolicyController, PolicyAttributesValidator, PolicyController, PolicyValidator, RealmController, RegisterController, RequestHandlerOperation, RequestIdentity, RequestPermissionEvaluator, RobotController, RobotPermissionController, RobotPermissionRequestValidator, RobotRoleController, RobotRoleRequestValidator, RoleAttributeController, RoleAttributeRequestValidator, RoleController, RolePermissionController, RolePermissionRequestValidator, ScopeController, StatusController, TokenController, UserAttributeController, UserAttributeRequestValidator, UserController, UserPermissionController, UserPermissionRequestValidator, UserRoleController, UserRoleRequestValidator, VITE_SERVER_STORE_KEY, buildActorContext, createAuthorizationMiddleware, createLoggerMiddleware, createSwaggerMiddleware, extractClientCredentialsFromRequest, getBodyRealmID, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, isRequestIdentityMasterRealmMember, readFromLocations, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, setRequestIdentity, setRequestPermissionEvaluator, setRequestScopes, setRequestToken, useRequestIdentity, useRequestIdentityOrFail, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestToken };
82
+ export { ActivateController, AuthorizationMiddleware, AuthorizeController, ClientController, ClientPermissionController, ClientPermissionRequestValidator, ClientRoleController, ClientRoleRequestValidator, ClientScopeController, ClientScopeRequestValidator, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, HTTPClientCredentialsGrant, HTTPOAuth2AuthorizeGrant, HTTPOAuth2Authorizer, HTTPOAuth2IdentityGrantType, HTTPOAuth2RefreshTokenGrant, HTTPPasswordGrant, HTTPRobotCredentialsGrant, IdentityProviderController, IdentityProviderRoleMappingController, JwkController, 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, StatusController, TokenController, UserAttributeController, UserAttributeRequestValidator, UserController, UserPermissionController, UserPermissionRequestValidator, UserRoleController, UserRoleRequestValidator, VITE_SERVER_STORE_KEY, applyRouteRealmIDToBody, buildActorContext, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createSwaggerMiddleware, extractClientCredentialsFromRequest, getBodyRealmID, getJwkRouteHandler, getJwksRouteHandler, getRequestParamID, getRequestRealmID, getRequestStringParam, getRequestStringParamOrFail, guessOauth2GrantTypeByRequest, isRequestIdentityMasterRealmMember, readFromLocations, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware, setRequestIdentity, setRequestPermissionEvaluator, setRequestRealmID, setRequestScopes, setRequestToken, useRequestIdentity, useRequestIdentityOrFail, useRequestParamID, useRequestPermissionEvaluator, useRequestScopes, useRequestToken };
@@ -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 { Router } 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: Router) {\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,aAAA;AAE5C,eAAsBC,yBAAyBC,QAAc;AACzD,KAAI,CAACX,qBAAqBD,mBAAmBa,aAAY,EAAG;AACxDD,SAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKV,cAAc,SAAA,EAC9B;GACIW,aAAa;GACbC,MAAM;GACV,CAAA,CAAA;AAGJN,SAAOE,IAAI,UAAUZ,cACjBC,KAAKY,MAAMC,KAAKT,cAAc,SAAA,EAC9B;GACIU,aAAa;GACbC,MAAM;GACV,CAAA,CAAA;AAEJ;;CAKJ,MAAME,SAAwB,OAAMD,MAFjBpB,KAAK,OAAA,EAEiBsB,aAAa;EAClDC,MAAMd;EACNe,MAAM;EACNC,UAAU;EACVJ,QAAQ;GACJK,gBAAgB;GAChBC,OAAO;IACHC,YAAY;IACZC,UAAU;IACd;GACJ;EACAC,SAAS;EACb,CAAA;AAEAjB,QAAOE,IAAI,UAAUT,mBAAmBe,OAAOU,YAAW,CAAA;AAC1DlB,QAAOE,IAAIV,mBAAmB2B,UAAAA;AAC1BA,QAAMC,MAAMvB,yBAAyBW;AACrC,SAAOW,MAAME,MAAI;GACrB,CAAA"}
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 { Router } 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: Router) {\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,QAAc;CACzD,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,GAEiBsB,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 +1 @@
1
- {"version":3,"file":"factory.mjs","names":["defineCoreHandler","AuthorizationMiddleware","createAuthorizationMiddleware","ctx","middleware","event","run","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/factory.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 { defineCoreHandler } from 'routup';\nimport type { Handler } from 'routup';\nimport { AuthorizationMiddleware } from './module.ts';\nimport type { HTTPAuthorizationMiddlewareContext } from './types.ts';\n\nexport function createAuthorizationMiddleware(ctx: HTTPAuthorizationMiddlewareContext) : Handler {\n const middleware = new AuthorizationMiddleware(ctx);\n\n return defineCoreHandler(async (event) => {\n await middleware.run(event);\n return event.next();\n });\n}\n"],"mappings":";;;AAYA,SAAgBE,8BAA8BC,KAAuC;CACjF,MAAMC,aAAa,IAAIH,wBAAwBE,IAAAA;AAE/C,QAAOH,kBAAkB,OAAOK,UAAAA;AAC5B,QAAMD,WAAWE,IAAID,MAAAA;AACrB,SAAOA,MAAME,MAAI;GACrB"}
1
+ {"version":3,"file":"factory.mjs","names":["defineCoreHandler","AuthorizationMiddleware","createAuthorizationMiddleware","ctx","middleware","event","run","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/factory.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 { defineCoreHandler } from 'routup';\nimport type { Handler } from 'routup';\nimport { AuthorizationMiddleware } from './module.ts';\nimport type { HTTPAuthorizationMiddlewareContext } from './types.ts';\n\nexport function createAuthorizationMiddleware(ctx: HTTPAuthorizationMiddlewareContext) : Handler {\n const middleware = new AuthorizationMiddleware(ctx);\n\n return defineCoreHandler(async (event) => {\n await middleware.run(event);\n return event.next();\n });\n}\n"],"mappings":";;;AAYA,SAAgBE,8BAA8BC,KAAuC;CACjF,MAAMC,aAAa,IAAIH,wBAAwBE,GAAAA;CAE/C,OAAOH,kBAAkB,OAAOK,UAAAA;EAC5B,MAAMD,WAAWE,IAAID,KAAAA;EACrB,OAAOA,MAAME,KAAI;CACrB,CAAA;AACJ"}
@@ -11,8 +11,8 @@ import { RequestPermissionEvaluator } from "../../../request/permission/module.m
11
11
  import "../../../request/index.mjs";
12
12
  import { IdentityType, ScopeName } from "@authup/core-kit";
13
13
  import { PermissionEvaluator } from "@authup/access";
14
+ import { AuthHeaderError } from "@authup/errors";
14
15
  import { JWTError, OAuth2TokenKind, deserializeOAuth2Scope } from "@authup/specs";
15
- import { HTTPError } from "@authup/errors";
16
16
  import { AuthorizationHeaderType, parseAuthorizationHeader } from "hapic";
17
17
  //#region src/adapters/http/middleware/built-in/authorization/module.ts
18
18
  var AuthorizationMiddleware = class {
@@ -52,7 +52,7 @@ var AuthorizationMiddleware = class {
52
52
  await this.verifyBasicAuthorizationHeader(event, header);
53
53
  return;
54
54
  }
55
- throw HTTPError.unsupportedHeaderType(header.type);
55
+ throw AuthHeaderError.unsupportedType(header.type);
56
56
  }
57
57
  /**
58
58
  * @throws JWTError
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["PermissionEvaluator","IdentityType","ScopeName","HTTPError","JWTError","OAuth2TokenKind","deserializeOAuth2Scope","AuthorizationHeaderType","parseAuthorizationHeader","ClientAuthenticator","PolicyEngine","RobotAuthenticator","UserAuthenticator","RequestPermissionEvaluator","setRequestIdentity","setRequestPermissionEvaluator","setRequestScopes","setRequestToken","AuthorizationMiddleware","options","oauth2TokenVerifier","permissionEvaluator","identityResolver","sessionManager","clientAuthenticator","robotAuthenticator","userAuthenticator","ctx","provider","permissionProvider","policyEngine","identityPermissionProvider","realmId","clientId","run","event","requestAccessContext","headerValue","headers","get","header","type","BEARER","verifyBearerAuthorizationHeader","BASIC","verifyBasicAuthorizationHeader","unsupportedHeaderType","payload","verify","token","kind","ACCESS","payloadPropertyInvalid","realm_id","scope","session_id","session","findOneById","expired","ping","sub_kind","sub","identity","resolve","clientAuthBasic","authenticator","safeAuthenticate","username","password","success","GLOBAL","CLIENT","data","userAuthBasic","authenticated","USER","robotAuthBasic","ROBOT"],"sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/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 type { IPermissionEvaluator } from '@authup/access';\nimport { PermissionEvaluator } from '@authup/access';\nimport type { Client, Robot, User } from '@authup/core-kit';\nimport {\n IdentityType,\n ScopeName,\n} from '@authup/core-kit';\nimport { HTTPError } from '@authup/errors';\nimport { JWTError, OAuth2TokenKind, deserializeOAuth2Scope } from '@authup/specs';\nimport type { IRoutupEvent } from 'routup';\nimport {\n AuthorizationHeaderType,\n type BasicAuthorizationHeader,\n type BearerAuthorizationHeader,\n parseAuthorizationHeader,\n} from 'hapic';\nimport {\n ClientAuthenticator,\n PolicyEngine,\n RobotAuthenticator,\n UserAuthenticator, \n} from '../../../../../core/index.ts';\nimport type {\n ICredentialsAuthenticator, \n IIdentityResolver,\n IOAuth2TokenVerifier, \n ISessionManager,\n} from '../../../../../core/index.ts';\nimport {\n RequestPermissionEvaluator,\n setRequestIdentity,\n setRequestPermissionEvaluator,\n setRequestScopes,\n setRequestToken,\n} from '../../../request/index.ts';\nimport type { HTTPAuthorizationMiddlewareContext, HTTPAuthorizationMiddlewareOptions } from './types.ts';\n\nexport class AuthorizationMiddleware {\n protected options: HTTPAuthorizationMiddlewareOptions;\n\n // --------------------------------------\n\n protected oauth2TokenVerifier: IOAuth2TokenVerifier;\n\n protected permissionEvaluator: IPermissionEvaluator;\n\n // --------------------------------------\n\n protected identityResolver: IIdentityResolver;\n\n protected sessionManager : ISessionManager;\n\n // --------------------------------------\n\n protected clientAuthenticator : ICredentialsAuthenticator<Client>;\n\n protected robotAuthenticator : ICredentialsAuthenticator<Robot>;\n\n protected userAuthenticator : ICredentialsAuthenticator<User>;\n\n // --------------------------------------\n\n constructor(ctx: HTTPAuthorizationMiddlewareContext) {\n this.options = ctx.options || {};\n\n this.identityResolver = ctx.identityResolver;\n this.sessionManager = ctx.sessionManager;\n\n this.clientAuthenticator = new ClientAuthenticator(ctx.identityResolver);\n this.robotAuthenticator = new RobotAuthenticator(ctx.identityResolver);\n this.userAuthenticator = new UserAuthenticator(ctx.identityResolver);\n\n this.oauth2TokenVerifier = ctx.oauth2TokenVerifier;\n\n this.permissionEvaluator = new PermissionEvaluator({\n provider: ctx.permissionProvider,\n policyEngine: new PolicyEngine(ctx.identityPermissionProvider),\n realmId: null,\n clientId: null,\n });\n }\n\n // --------------------------------------\n\n async run(event: IRoutupEvent) {\n const requestAccessContext = new RequestPermissionEvaluator(\n event,\n this.permissionEvaluator,\n );\n setRequestPermissionEvaluator(event, requestAccessContext);\n\n const headerValue = event.headers.get('authorization');\n if (!headerValue) {\n return;\n }\n\n const header = parseAuthorizationHeader(headerValue);\n\n if (header.type === AuthorizationHeaderType.BEARER) {\n await this.verifyBearerAuthorizationHeader(event, header);\n return;\n }\n\n if (header.type === AuthorizationHeaderType.BASIC) {\n await this.verifyBasicAuthorizationHeader(event, header);\n return;\n }\n\n throw HTTPError.unsupportedHeaderType(header.type);\n }\n\n /**\n * @throws JWTError\n */\n protected async verifyBearerAuthorizationHeader(\n event: IRoutupEvent,\n header: BearerAuthorizationHeader,\n ) {\n const payload = await this.oauth2TokenVerifier.verify(header.token);\n if (payload.kind !== OAuth2TokenKind.ACCESS) {\n throw JWTError.payloadPropertyInvalid('kind');\n }\n\n if (!payload.realm_id) {\n throw JWTError.payloadPropertyInvalid('realm_id');\n }\n\n setRequestToken(event, header.token);\n\n if (payload.scope) {\n setRequestScopes(event, deserializeOAuth2Scope(payload.scope));\n }\n\n // -------------------------------------------------------\n\n if (!payload.session_id) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n const session = await this.sessionManager.findOneById(payload.session_id);\n if (!session) {\n throw JWTError.expired();\n }\n\n try {\n await this.sessionManager.verify(session);\n } catch {\n throw JWTError.expired();\n }\n\n await this.sessionManager.ping(session);\n\n // -------------------------------------------------------\n\n if (!payload.sub_kind) {\n throw JWTError.payloadPropertyInvalid('sub_kind');\n }\n\n if (!payload.sub) {\n throw JWTError.payloadPropertyInvalid('sub');\n }\n\n const identity = await this.identityResolver.resolve(\n payload.sub_kind,\n payload.sub,\n );\n\n if (identity) {\n setRequestIdentity(event, identity);\n }\n }\n\n protected async verifyBasicAuthorizationHeader(\n event: IRoutupEvent,\n header: BasicAuthorizationHeader,\n ) {\n if (this.options.clientAuthBasic) {\n const authenticator = await this.clientAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n if (authenticator.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.CLIENT,\n data: authenticator.data,\n });\n }\n }\n\n if (this.options.userAuthBasic) {\n const authenticated = await this.userAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n\n if (authenticated.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.USER,\n data: authenticated.data,\n });\n\n return;\n }\n }\n\n if (this.options.robotAuthBasic) {\n const authenticated = await this.robotAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n if (authenticated.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.ROBOT,\n data: authenticated.data,\n });\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"module.mjs","names":["PermissionEvaluator","IdentityType","ScopeName","AuthHeaderError","JWTError","OAuth2TokenKind","deserializeOAuth2Scope","AuthorizationHeaderType","parseAuthorizationHeader","ClientAuthenticator","PolicyEngine","RobotAuthenticator","UserAuthenticator","RequestPermissionEvaluator","setRequestIdentity","setRequestPermissionEvaluator","setRequestScopes","setRequestToken","AuthorizationMiddleware","options","oauth2TokenVerifier","permissionEvaluator","identityResolver","sessionManager","clientAuthenticator","robotAuthenticator","userAuthenticator","ctx","provider","permissionProvider","policyEngine","identityPermissionProvider","realmId","clientId","run","event","requestAccessContext","headerValue","headers","get","header","type","BEARER","verifyBearerAuthorizationHeader","BASIC","verifyBasicAuthorizationHeader","unsupportedType","payload","verify","token","kind","ACCESS","payloadPropertyInvalid","realm_id","scope","session_id","session","findOneById","expired","ping","sub_kind","sub","identity","resolve","clientAuthBasic","authenticator","safeAuthenticate","username","password","success","GLOBAL","CLIENT","data","userAuthBasic","authenticated","USER","robotAuthBasic","ROBOT"],"sources":["../../../../../../src/adapters/http/middleware/built-in/authorization/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 type { IPermissionEvaluator } from '@authup/access';\nimport { PermissionEvaluator } from '@authup/access';\nimport type { Client, Robot, User } from '@authup/core-kit';\nimport {\n IdentityType,\n ScopeName,\n} from '@authup/core-kit';\nimport { AuthHeaderError } from '@authup/errors';\nimport { JWTError, OAuth2TokenKind, deserializeOAuth2Scope } from '@authup/specs';\nimport type { IRoutupEvent } from 'routup';\nimport {\n AuthorizationHeaderType,\n type BasicAuthorizationHeader,\n type BearerAuthorizationHeader,\n parseAuthorizationHeader,\n} from 'hapic';\nimport {\n ClientAuthenticator,\n PolicyEngine,\n RobotAuthenticator,\n UserAuthenticator, \n} from '../../../../../core/index.ts';\nimport type {\n ICredentialsAuthenticator, \n IIdentityResolver,\n IOAuth2TokenVerifier, \n ISessionManager,\n} from '../../../../../core/index.ts';\nimport {\n RequestPermissionEvaluator,\n setRequestIdentity,\n setRequestPermissionEvaluator,\n setRequestScopes,\n setRequestToken,\n} from '../../../request/index.ts';\nimport type { HTTPAuthorizationMiddlewareContext, HTTPAuthorizationMiddlewareOptions } from './types.ts';\n\nexport class AuthorizationMiddleware {\n protected options: HTTPAuthorizationMiddlewareOptions;\n\n // --------------------------------------\n\n protected oauth2TokenVerifier: IOAuth2TokenVerifier;\n\n protected permissionEvaluator: IPermissionEvaluator;\n\n // --------------------------------------\n\n protected identityResolver: IIdentityResolver;\n\n protected sessionManager : ISessionManager;\n\n // --------------------------------------\n\n protected clientAuthenticator : ICredentialsAuthenticator<Client>;\n\n protected robotAuthenticator : ICredentialsAuthenticator<Robot>;\n\n protected userAuthenticator : ICredentialsAuthenticator<User>;\n\n // --------------------------------------\n\n constructor(ctx: HTTPAuthorizationMiddlewareContext) {\n this.options = ctx.options || {};\n\n this.identityResolver = ctx.identityResolver;\n this.sessionManager = ctx.sessionManager;\n\n this.clientAuthenticator = new ClientAuthenticator(ctx.identityResolver);\n this.robotAuthenticator = new RobotAuthenticator(ctx.identityResolver);\n this.userAuthenticator = new UserAuthenticator(ctx.identityResolver);\n\n this.oauth2TokenVerifier = ctx.oauth2TokenVerifier;\n\n this.permissionEvaluator = new PermissionEvaluator({\n provider: ctx.permissionProvider,\n policyEngine: new PolicyEngine(ctx.identityPermissionProvider),\n realmId: null,\n clientId: null,\n });\n }\n\n // --------------------------------------\n\n async run(event: IRoutupEvent) {\n const requestAccessContext = new RequestPermissionEvaluator(\n event,\n this.permissionEvaluator,\n );\n setRequestPermissionEvaluator(event, requestAccessContext);\n\n const headerValue = event.headers.get('authorization');\n if (!headerValue) {\n return;\n }\n\n const header = parseAuthorizationHeader(headerValue);\n\n if (header.type === AuthorizationHeaderType.BEARER) {\n await this.verifyBearerAuthorizationHeader(event, header);\n return;\n }\n\n if (header.type === AuthorizationHeaderType.BASIC) {\n await this.verifyBasicAuthorizationHeader(event, header);\n return;\n }\n\n throw AuthHeaderError.unsupportedType(header.type);\n }\n\n /**\n * @throws JWTError\n */\n protected async verifyBearerAuthorizationHeader(\n event: IRoutupEvent,\n header: BearerAuthorizationHeader,\n ) {\n const payload = await this.oauth2TokenVerifier.verify(header.token);\n if (payload.kind !== OAuth2TokenKind.ACCESS) {\n throw JWTError.payloadPropertyInvalid('kind');\n }\n\n if (!payload.realm_id) {\n throw JWTError.payloadPropertyInvalid('realm_id');\n }\n\n setRequestToken(event, header.token);\n\n if (payload.scope) {\n setRequestScopes(event, deserializeOAuth2Scope(payload.scope));\n }\n\n // -------------------------------------------------------\n\n if (!payload.session_id) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n const session = await this.sessionManager.findOneById(payload.session_id);\n if (!session) {\n throw JWTError.expired();\n }\n\n try {\n await this.sessionManager.verify(session);\n } catch {\n throw JWTError.expired();\n }\n\n await this.sessionManager.ping(session);\n\n // -------------------------------------------------------\n\n if (!payload.sub_kind) {\n throw JWTError.payloadPropertyInvalid('sub_kind');\n }\n\n if (!payload.sub) {\n throw JWTError.payloadPropertyInvalid('sub');\n }\n\n const identity = await this.identityResolver.resolve(\n payload.sub_kind,\n payload.sub,\n );\n\n if (identity) {\n setRequestIdentity(event, identity);\n }\n }\n\n protected async verifyBasicAuthorizationHeader(\n event: IRoutupEvent,\n header: BasicAuthorizationHeader,\n ) {\n if (this.options.clientAuthBasic) {\n const authenticator = await this.clientAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n if (authenticator.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.CLIENT,\n data: authenticator.data,\n });\n }\n }\n\n if (this.options.userAuthBasic) {\n const authenticated = await this.userAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n\n if (authenticated.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.USER,\n data: authenticated.data,\n });\n\n return;\n }\n }\n\n if (this.options.robotAuthBasic) {\n const authenticated = await this.robotAuthenticator.safeAuthenticate(\n header.username,\n header.password,\n );\n if (authenticated.success) {\n setRequestScopes(event, [ScopeName.GLOBAL]);\n setRequestIdentity(event, {\n type: IdentityType.ROBOT,\n data: authenticated.data,\n });\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"basic.mjs","names":["basic","registerBasicMiddleware","router","input","use"],"sources":["../../../../../src/adapters/http/middleware/built-in/basic.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 type { Options } from '@routup/basic';\nimport { basic } from '@routup/basic';\nimport type { Router } from 'routup';\n\nexport function registerBasicMiddleware(router: Router, input?: Options) {\n router.use(basic(input));\n}\n"],"mappings":";;AAWA,SAAgBC,wBAAwBC,QAAgBC,OAAe;AACnED,QAAOE,IAAIJ,MAAMG,MAAAA,CAAAA"}
1
+ {"version":3,"file":"basic.mjs","names":["basic","registerBasicMiddleware","router","input","use"],"sources":["../../../../../src/adapters/http/middleware/built-in/basic.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 type { Options } from '@routup/basic';\nimport { basic } from '@routup/basic';\nimport type { Router } from 'routup';\n\nexport function registerBasicMiddleware(router: Router, input?: Options) {\n router.use(basic(input));\n}\n"],"mappings":";;AAWA,SAAgBC,wBAAwBC,QAAgBC,OAAe;CACnED,OAAOE,IAAIJ,MAAMG,KAAAA,CAAAA;AACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"cors.mjs","names":["cors","registerCorsMiddleware","router","input","use","origin","credentials","exposeHeaders"],"sources":["../../../../../src/adapters/http/middleware/built-in/cors.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 type { Options as CorsOptions } from '@routup/cors';\nimport { cors } from '@routup/cors';\nimport type { Router } from 'routup';\n\nexport function registerCorsMiddleware(router: Router, input?: CorsOptions) {\n router.use(cors({\n origin: true,\n credentials: true,\n // `credentials: true` is incompatible with the `*` wildcard for\n // exposeHeaders, so enumerate the response headers JS clients need.\n exposeHeaders: [\n 'ratelimit-limit',\n 'ratelimit-remaining',\n 'ratelimit-reset',\n 'retry-after',\n 'etag',\n 'content-disposition',\n 'content-range',\n 'accept-ranges',\n 'location',\n 'www-authenticate',\n ],\n ...(input ?? {}),\n }));\n}\n"],"mappings":";;AAWA,SAAgBC,uBAAuBC,QAAgBC,OAAmB;AACtED,QAAOE,IAAIJ,KAAK;EACZK,QAAQ;EACRC,aAAa;EAGbC,eAAe;GACX;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACH;EACD,GAAIJ,SAAS,EAAE;EACnB,CAAA,CAAA"}
1
+ {"version":3,"file":"cors.mjs","names":["cors","registerCorsMiddleware","router","input","use","origin","credentials","exposeHeaders"],"sources":["../../../../../src/adapters/http/middleware/built-in/cors.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 type { Options as CorsOptions } from '@routup/cors';\nimport { cors } from '@routup/cors';\nimport type { Router } from 'routup';\n\nexport function registerCorsMiddleware(router: Router, input?: CorsOptions) {\n router.use(cors({\n origin: true,\n credentials: true,\n // `credentials: true` is incompatible with the `*` wildcard for\n // exposeHeaders, so enumerate the response headers JS clients need.\n exposeHeaders: [\n 'ratelimit-limit',\n 'ratelimit-remaining',\n 'ratelimit-reset',\n 'retry-after',\n 'etag',\n 'content-disposition',\n 'content-range',\n 'accept-ranges',\n 'location',\n 'www-authenticate',\n ],\n ...(input ?? {}),\n }));\n}\n"],"mappings":";;AAWA,SAAgBC,uBAAuBC,QAAgBC,OAAmB;CACtED,OAAOE,IAAIJ,KAAK;EACZK,QAAQ;EACRC,aAAa;EAGbC,eAAe;GACX;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;;EAEJ,GAAIJ,SAAS,CAAC;CAClB,CAAA,CAAA;AACJ"}
@@ -1,17 +1,19 @@
1
1
  import { sanitizeError } from "../../../../utils/error.mjs";
2
2
  import "../../../../utils/index.mjs";
3
3
  import { useLogger } from "@authup/server-kit";
4
+ import { httpStatusFromCode, serializeError } from "@authup/errors";
4
5
  import { defineErrorHandler } from "routup";
5
6
  //#region src/adapters/http/middleware/built-in/error.ts
6
7
  function registerErrorMiddleware(router) {
7
8
  router.use(defineErrorHandler((error, event) => {
8
9
  const next = sanitizeError(error.cause ?? error);
9
- const payload = next.toJSON();
10
- if (next.status >= 500 && next.status < 600) {
10
+ const status = httpStatusFromCode(next.code);
11
+ const payload = serializeError(next);
12
+ if (status >= 500) {
11
13
  useLogger().error(next);
12
14
  payload.message = "An internal server error occurred.";
13
15
  }
14
- event.response.status = next.status;
16
+ event.response.status = status;
15
17
  return payload;
16
18
  }));
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error.mjs","names":["defineErrorHandler","useLogger","sanitizeError","registerErrorMiddleware","router","use","error","event","next","cause","payload","toJSON","isServerError","status","message","response"],"sources":["../../../../../src/adapters/http/middleware/built-in/error.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 type { Router } from 'routup';\nimport { defineErrorHandler } from 'routup';\nimport { useLogger } from '@authup/server-kit';\nimport type { AuthupError } from '@authup/errors';\nimport { sanitizeError } from '../../../../utils/index.ts';\n\nexport function registerErrorMiddleware(router: Router) {\n router.use(defineErrorHandler((error, event) => {\n const next : AuthupError = sanitizeError(error.cause ?? error);\n\n const payload = next.toJSON();\n\n const isServerError = next.status >= 500 && next.status < 600;\n if (isServerError) {\n useLogger().error(next);\n payload.message = 'An internal server error occurred.';\n }\n\n event.response.status = next.status;\n return payload;\n }));\n}\n"],"mappings":";;;;;AAaA,SAAgBG,wBAAwBC,QAAc;AAClDA,QAAOC,IAAIL,oBAAoBM,OAAOC,UAAAA;EAClC,MAAMC,OAAqBN,cAAcI,MAAMG,SAASH,MAAAA;EAExD,MAAMI,UAAUF,KAAKG,QAAM;AAG3B,MADsBH,KAAKK,UAAU,OAAOL,KAAKK,SAAS,KACvC;AACfZ,cAAAA,CAAYK,MAAME,KAAAA;AAClBE,WAAQI,UAAU;;AAGtBP,QAAMQ,SAASF,SAASL,KAAKK;AAC7B,SAAOH;GACX,CAAA"}
1
+ {"version":3,"file":"error.mjs","names":["defineErrorHandler","useLogger","httpStatusFromCode","serializeError","sanitizeError","registerErrorMiddleware","router","use","error","event","next","cause","status","code","payload","message","response"],"sources":["../../../../../src/adapters/http/middleware/built-in/error.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-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 type { Router } from 'routup';\nimport { defineErrorHandler } from 'routup';\nimport { useLogger } from '@authup/server-kit';\nimport { httpStatusFromCode, serializeError } from '@authup/errors';\nimport { sanitizeError } from '../../../../utils/index.ts';\n\nexport function registerErrorMiddleware(router: Router) {\n router.use(defineErrorHandler((error, event) => {\n const next = sanitizeError(error.cause ?? error);\n const status = httpStatusFromCode(next.code);\n\n const payload = serializeError(next);\n\n if (status >= 500) {\n useLogger().error(next);\n payload.message = 'An internal server error occurred.';\n }\n\n event.response.status = status;\n return payload;\n }));\n}\n"],"mappings":";;;;;;AAaA,SAAgBK,wBAAwBC,QAAc;CAClDA,OAAOC,IAAIP,oBAAoBQ,OAAOC,UAAAA;EAClC,MAAMC,OAAON,cAAcI,MAAMG,SAASH,KAAAA;EAC1C,MAAMI,SAASV,mBAAmBQ,KAAKG,IAAI;EAE3C,MAAMC,UAAUX,eAAeO,IAAAA;EAE/B,IAAIE,UAAU,KAAK;GACfX,UAAAA,EAAYO,MAAME,IAAAA;GAClBI,QAAQC,UAAU;EACtB;EAEAN,MAAMO,SAASJ,SAASA;EACxB,OAAOE;CACX,CAAA,CAAA;AACJ"}
@@ -1,5 +1,6 @@
1
1
  export * from './authorization/index.ts';
2
2
  export * from './loggedin/index.ts';
3
+ export * from './realm-resolver/index.ts';
3
4
  export * from './assets.ts';
4
5
  export * from './basic.ts';
5
6
  export * from './cors.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/index.ts"],"names":[],"mappings":"AAOA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/http/middleware/built-in/index.ts"],"names":[],"mappings":"AAOA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAE1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -4,6 +4,9 @@ import "./authorization/index.mjs";
4
4
  import { ForceLoggedInMiddleware } from "./loggedin/module.mjs";
5
5
  import { ForceUserLoggedInMiddleware } from "./loggedin/user.mjs";
6
6
  import "./loggedin/index.mjs";
7
+ import { RealmResolverMiddleware } from "./realm-resolver/module.mjs";
8
+ import { createRealmResolverMiddleware } from "./realm-resolver/factory.mjs";
9
+ import "./realm-resolver/index.mjs";
7
10
  import { VITE_SERVER_STORE_KEY, registerAssetsMiddleware } from "./assets.mjs";
8
11
  import { registerBasicMiddleware } from "./basic.mjs";
9
12
  import { registerCorsMiddleware } from "./cors.mjs";
@@ -12,4 +15,4 @@ import { createLoggerMiddleware } from "./logger.mjs";
12
15
  import { registerPrometheusMiddleware } from "./prometheus.mjs";
13
16
  import { registerRateLimitMiddleware } from "./rate-limit.mjs";
14
17
  import { createSwaggerMiddleware } from "./swagger.mjs";
15
- export { AuthorizationMiddleware, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, VITE_SERVER_STORE_KEY, createAuthorizationMiddleware, createLoggerMiddleware, createSwaggerMiddleware, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware };
18
+ export { AuthorizationMiddleware, ForceLoggedInMiddleware, ForceUserLoggedInMiddleware, RealmResolverMiddleware, VITE_SERVER_STORE_KEY, createAuthorizationMiddleware, createLoggerMiddleware, createRealmResolverMiddleware, createSwaggerMiddleware, registerAssetsMiddleware, registerBasicMiddleware, registerCorsMiddleware, registerErrorMiddleware, registerPrometheusMiddleware, registerRateLimitMiddleware };
@@ -1 +1 @@
1
- {"version":3,"file":"module.mjs","names":["useRequestIdentityOrFail","ForceLoggedInMiddleware","run","event","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/loggedin/module.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 type { HandlerInterface } from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestIdentityOrFail } from '../../../request/index.ts';\n\nexport class ForceLoggedInMiddleware implements HandlerInterface {\n public run(event: IRoutupEvent) {\n useRequestIdentityOrFail(event);\n return event.next();\n }\n}\n"],"mappings":";;;AAWA,IAAaC,0BAAb,MAAaA;CACFC,IAAIC,OAAqB;AAC5BH,2BAAyBG,MAAAA;AACzB,SAAOA,MAAMC,MAAI"}
1
+ {"version":3,"file":"module.mjs","names":["useRequestIdentityOrFail","ForceLoggedInMiddleware","run","event","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/loggedin/module.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 type { HandlerInterface } from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestIdentityOrFail } from '../../../request/index.ts';\n\nexport class ForceLoggedInMiddleware implements HandlerInterface {\n public run(event: IRoutupEvent) {\n useRequestIdentityOrFail(event);\n return event.next();\n }\n}\n"],"mappings":";;;AAWA,IAAaC,0BAAb,MAAaA;CACFC,IAAIC,OAAqB;EAC5BH,yBAAyBG,KAAAA;EACzB,OAAOA,MAAMC,KAAI;CACrB;AACJ"}
@@ -1,6 +1,6 @@
1
1
  import { useRequestIdentity } from "../../../request/helpers/identity.mjs";
2
2
  import "../../../request/index.mjs";
3
- import { UnauthorizedError } from "@ebec/http";
3
+ import { UnauthorizedError } from "@authup/errors";
4
4
  //#region src/adapters/http/middleware/built-in/loggedin/user.ts
5
5
  var ForceUserLoggedInMiddleware = class {
6
6
  run(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"user.mjs","names":["UnauthorizedError","useRequestIdentity","ForceUserLoggedInMiddleware","run","event","identity","type","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/loggedin/user.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 { UnauthorizedError } from '@ebec/http';\nimport type { HandlerInterface } from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestIdentity } from '../../../request/index.ts';\n\nexport class ForceUserLoggedInMiddleware implements HandlerInterface {\n public run(event: IRoutupEvent) {\n const identity = useRequestIdentity(event);\n\n if (!identity || identity.type !== 'user') {\n throw new UnauthorizedError();\n }\n\n return event.next();\n }\n}\n"],"mappings":";;;;AAYA,IAAaE,8BAAb,MAAaA;CACFC,IAAIC,OAAqB;EAC5B,MAAMC,WAAWJ,mBAAmBG,MAAAA;AAEpC,MAAI,CAACC,YAAYA,SAASC,SAAS,OAC/B,OAAM,IAAIN,mBAAAA;AAGd,SAAOI,MAAMG,MAAI"}
1
+ {"version":3,"file":"user.mjs","names":["UnauthorizedError","useRequestIdentity","ForceUserLoggedInMiddleware","run","event","identity","type","next"],"sources":["../../../../../../src/adapters/http/middleware/built-in/loggedin/user.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 { UnauthorizedError } from '@authup/errors';\nimport type { HandlerInterface } from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestIdentity } from '../../../request/index.ts';\n\nexport class ForceUserLoggedInMiddleware implements HandlerInterface {\n public run(event: IRoutupEvent) {\n const identity = useRequestIdentity(event);\n\n if (!identity || identity.type !== 'user') {\n throw new UnauthorizedError();\n }\n\n return event.next();\n }\n}\n"],"mappings":";;;;AAYA,IAAaE,8BAAb,MAAaA;CACFC,IAAIC,OAAqB;EAC5B,MAAMC,WAAWJ,mBAAmBG,KAAAA;EAEpC,IAAI,CAACC,YAAYA,SAASC,SAAS,QAC/B,MAAM,IAAIN,kBAAAA;EAGd,OAAOI,MAAMG,KAAI;CACrB;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.mjs","names":["logger","getRequestIP","useLogger","EnvironmentName","createLoggerMiddleware","options","format","tokens","event","response","method","url","status","join","write","line","env","TEST","http","skip","path","length","PRODUCTION"],"sources":["../../../../../src/adapters/http/middleware/built-in/logger.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 { logger } from '@routup/logger';\nimport type { Handler } from 'routup';\nimport { getRequestIP } from 'routup';\nimport { useLogger } from '@authup/server-kit';\nimport { EnvironmentName } from '@authup/kit';\n\ntype LoggerMiddlewareOptions = {\n env: string\n};\n\nexport function createLoggerMiddleware(options: LoggerMiddlewareOptions) : Handler {\n return logger({\n format: (tokens, event, response) => [\n getRequestIP(event) || '-',\n '-',\n tokens.method(event, response) ?? '-',\n tokens.url(event, response) ?? '-',\n tokens.status(event, response) ?? '-',\n '-',\n tokens['response-time'](event, response) ?? '-',\n ].join(' '),\n write(line) {\n if (options.env !== EnvironmentName.TEST) {\n useLogger().http(line);\n }\n },\n skip(event, response): boolean {\n const path = event.path || '';\n if (path.length === 0 || path === '/') {\n return true;\n }\n\n if (options.env === EnvironmentName.PRODUCTION) {\n return (response?.status ?? 0) < 400;\n }\n\n return false;\n },\n });\n}\n"],"mappings":";;;;;AAiBA,SAAgBI,uBAAuBC,SAAgC;AACnE,QAAOL,OAAO;EACVM,SAASC,QAAQC,OAAOC,aAAa;GACjCR,aAAaO,MAAAA,IAAU;GACvB;GACAD,OAAOG,OAAOF,OAAOC,SAAAA,IAAa;GAClCF,OAAOI,IAAIH,OAAOC,SAAAA,IAAa;GAC/BF,OAAOK,OAAOJ,OAAOC,SAAAA,IAAa;GAClC;GACAF,OAAO,iBAAiBC,OAAOC,SAAAA,IAAa;GAC/C,CAACI,KAAK,IAAA;EACPC,MAAMC,MAAI;AACN,OAAIV,QAAQW,QAAQb,gBAAgBc,KAChCf,YAAAA,CAAYgB,KAAKH,KAAAA;;EAGzBI,KAAKX,OAAOC,UAAQ;GAChB,MAAMW,OAAOZ,MAAMY,QAAQ;AAC3B,OAAIA,KAAKC,WAAW,KAAKD,SAAS,IAC9B,QAAO;AAGX,OAAIf,QAAQW,QAAQb,gBAAgBmB,WAChC,SAAQb,UAAUG,UAAU,KAAK;AAGrC,UAAO;;EAEf,CAAA"}
1
+ {"version":3,"file":"logger.mjs","names":["logger","getRequestIP","useLogger","EnvironmentName","createLoggerMiddleware","options","format","tokens","event","response","method","url","status","join","write","line","env","TEST","http","skip","path","length","PRODUCTION"],"sources":["../../../../../src/adapters/http/middleware/built-in/logger.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 { logger } from '@routup/logger';\nimport type { Handler } from 'routup';\nimport { getRequestIP } from 'routup';\nimport { useLogger } from '@authup/server-kit';\nimport { EnvironmentName } from '@authup/kit';\n\ntype LoggerMiddlewareOptions = {\n env: string\n};\n\nexport function createLoggerMiddleware(options: LoggerMiddlewareOptions) : Handler {\n return logger({\n format: (tokens, event, response) => [\n getRequestIP(event) || '-',\n '-',\n tokens.method(event, response) ?? '-',\n tokens.url(event, response) ?? '-',\n tokens.status(event, response) ?? '-',\n '-',\n tokens['response-time'](event, response) ?? '-',\n ].join(' '),\n write(line) {\n if (options.env !== EnvironmentName.TEST) {\n useLogger().http(line);\n }\n },\n skip(event, response): boolean {\n const path = event.path || '';\n if (path.length === 0 || path === '/') {\n return true;\n }\n\n if (options.env === EnvironmentName.PRODUCTION) {\n return (response?.status ?? 0) < 400;\n }\n\n return false;\n },\n });\n}\n"],"mappings":";;;;;AAiBA,SAAgBI,uBAAuBC,SAAgC;CACnE,OAAOL,OAAO;EACVM,SAASC,QAAQC,OAAOC,aAAa;GACjCR,aAAaO,KAAAA,KAAU;GACvB;GACAD,OAAOG,OAAOF,OAAOC,QAAAA,KAAa;GAClCF,OAAOI,IAAIH,OAAOC,QAAAA,KAAa;GAC/BF,OAAOK,OAAOJ,OAAOC,QAAAA,KAAa;GAClC;GACAF,OAAO,iBAAiBC,OAAOC,QAAAA,KAAa;IAC9CI,KAAK,GAAA;EACPC,MAAMC,MAAI;GACN,IAAIV,QAAQW,QAAQb,gBAAgBc,MAChCf,UAAAA,EAAYgB,KAAKH,IAAAA;EAEzB;EACAI,KAAKX,OAAOC,UAAQ;GAChB,MAAMW,OAAOZ,MAAMY,QAAQ;GAC3B,IAAIA,KAAKC,WAAW,KAAKD,SAAS,KAC9B,OAAO;GAGX,IAAIf,QAAQW,QAAQb,gBAAgBmB,YAChC,QAAQb,UAAUG,UAAU,KAAK;GAGrC,OAAO;EACX;CACJ,CAAA;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"prometheus.mjs","names":["prometheus","registerPrometheusMiddleware","router","input","options","skip","event","path","startsWith","use"],"sources":["../../../../../src/adapters/http/middleware/built-in/prometheus.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 type { OptionsInput } from '@routup/prometheus';\nimport { prometheus } from '@routup/prometheus';\nimport type { Router } from 'routup';\n\nexport function registerPrometheusMiddleware(router: Router, input?: OptionsInput) {\n let options : OptionsInput = {\n skip(event) {\n let { path } = event;\n if (!path.startsWith('/')) {\n path = `/${path}`;\n }\n\n return path.startsWith('/authorize') ||\n path.startsWith('/token') ||\n path.startsWith('/metrics') ||\n path === '/';\n },\n };\n\n if (input) {\n options = {\n ...options,\n ...input,\n };\n }\n\n router.use(prometheus(options));\n}\n"],"mappings":";;AAWA,SAAgBC,6BAA6BC,QAAgBC,OAAoB;CAC7E,IAAIC,UAAyB,EACzBC,KAAKC,OAAK;EACN,IAAI,EAAEC,SAASD;AACf,MAAI,CAACC,KAAKC,WAAW,IAAA,CACjBD,QAAO,IAAIA;AAGf,SAAOA,KAAKC,WAAW,aAAA,IACnBD,KAAKC,WAAW,SAAA,IAChBD,KAAKC,WAAW,WAAA,IAChBD,SAAS;IAErB;AAEA,KAAIJ,MACAC,WAAU;EACN,GAAGA;EACH,GAAGD;EACP;AAGJD,QAAOO,IAAIT,WAAWI,QAAAA,CAAAA"}
1
+ {"version":3,"file":"prometheus.mjs","names":["prometheus","registerPrometheusMiddleware","router","input","options","skip","event","path","startsWith","use"],"sources":["../../../../../src/adapters/http/middleware/built-in/prometheus.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 type { OptionsInput } from '@routup/prometheus';\nimport { prometheus } from '@routup/prometheus';\nimport type { Router } from 'routup';\n\nexport function registerPrometheusMiddleware(router: Router, input?: OptionsInput) {\n let options : OptionsInput = {\n skip(event) {\n let { path } = event;\n if (!path.startsWith('/')) {\n path = `/${path}`;\n }\n\n return path.startsWith('/authorize') ||\n path.startsWith('/token') ||\n path.startsWith('/metrics') ||\n path === '/';\n },\n };\n\n if (input) {\n options = {\n ...options,\n ...input,\n };\n }\n\n router.use(prometheus(options));\n}\n"],"mappings":";;AAWA,SAAgBC,6BAA6BC,QAAgBC,OAAoB;CAC7E,IAAIC,UAAyB,EACzBC,KAAKC,OAAK;EACN,IAAI,EAAEC,SAASD;EACf,IAAI,CAACC,KAAKC,WAAW,GAAA,GACjBD,OAAO,IAAIA;EAGf,OAAOA,KAAKC,WAAW,YAAA,KACnBD,KAAKC,WAAW,QAAA,KAChBD,KAAKC,WAAW,UAAA,KAChBD,SAAS;CACjB,EACJ;CAEA,IAAIJ,OACAC,UAAU;EACN,GAAGA;EACH,GAAGD;CACP;CAGJD,OAAOO,IAAIT,WAAWI,OAAAA,CAAAA;AAC1B"}