@authup/server-core 1.0.0-beta.40 → 1.0.0-beta.41
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.
- package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts +5 -8
- package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +8 -10
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +3 -3
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +13 -12
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +6 -6
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +4 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +6 -6
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +8 -7
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +5 -5
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +11 -10
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +16 -13
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client/module.d.ts +9 -6
- package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/client/module.mjs +46 -61
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/client-permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/module.d.ts +7 -4
- package/dist/adapters/http/controllers/entities/client-role/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/module.mjs +27 -40
- package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/module.d.ts +7 -4
- package/dist/adapters/http/controllers/entities/client-scope/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs +27 -40
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts +8 -6
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +10 -9
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +76 -100
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.d.ts +10 -7
- package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.mjs +50 -69
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts +7 -4
- package/dist/adapters/http/controllers/entities/permission-policy/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +27 -40
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.d.ts +11 -9
- package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.mjs +54 -72
- package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts +13 -8
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +55 -74
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot/module.d.ts +9 -6
- package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/robot/module.mjs +46 -63
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +7 -4
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs +27 -40
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role/module.d.ts +9 -6
- package/dist/adapters/http/controllers/entities/role/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/role/module.mjs +42 -57
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/role-attribute/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/role-permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/scope/module.d.ts +9 -6
- package/dist/adapters/http/controllers/entities/scope/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/scope/module.mjs +42 -57
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.d.ts +9 -6
- package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.mjs +42 -57
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/user-attribute/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.d.ts +8 -5
- package/dist/adapters/http/controllers/entities/user-permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +35 -48
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/module.d.ts +7 -4
- package/dist/adapters/http/controllers/entities/user-role/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/module.mjs +27 -40
- package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts +3 -2
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +6 -11
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts +7 -5
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +19 -20
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts +5 -3
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +12 -14
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.d.ts +6 -3
- package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +17 -26
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/openid/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/openid/module.mjs +10 -7
- package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +3 -3
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +7 -11
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +3 -3
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +7 -11
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.d.ts +3 -3
- package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.mjs +7 -11
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts +5 -5
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +20 -21
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/utils/extract.d.ts +2 -2
- package/dist/adapters/http/controllers/workflows/token/utils/extract.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs +8 -7
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
- package/dist/adapters/http/index.d.ts +0 -2
- package/dist/adapters/http/index.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +4 -7
- package/dist/adapters/http/middleware/built-in/assets.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/assets.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/assets.mjs +9 -9
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/factory.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs +5 -2
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +4 -10
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +24 -39
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.d.ts +1 -1
- package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs +18 -10
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.mjs +7 -18
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/loggedin/module.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/loggedin/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs +3 -3
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/loggedin/user.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/loggedin/user.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +3 -3
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs +21 -29
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +2 -3
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/swagger.d.ts +3 -4
- package/dist/adapters/http/middleware/built-in/swagger.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/swagger.mjs +4 -16
- package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +2 -2
- package/dist/adapters/http/request/helpers/actor.d.ts +2 -2
- package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/actor.mjs +3 -3
- package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.d.ts +1 -2
- package/dist/adapters/http/request/helpers/body-realm-id.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.mjs +3 -4
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/identity.d.ts +4 -4
- package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs +6 -7
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts +1 -0
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +3 -2
- package/dist/adapters/http/request/helpers/locations.d.ts +4 -0
- package/dist/adapters/http/request/helpers/locations.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/locations.mjs +28 -0
- package/dist/adapters/http/request/helpers/locations.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/param-id.d.ts +5 -5
- package/dist/adapters/http/request/helpers/param-id.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/param-id.mjs +8 -9
- package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/scopes.d.ts +3 -3
- package/dist/adapters/http/request/helpers/scopes.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/scopes.mjs +4 -5
- package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/token.d.ts +3 -3
- package/dist/adapters/http/request/helpers/token.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/token.mjs +4 -5
- package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
- package/dist/adapters/http/request/index.mjs +3 -2
- package/dist/adapters/http/request/permission/helper.d.ts +3 -3
- package/dist/adapters/http/request/permission/helper.d.ts.map +1 -1
- package/dist/adapters/http/request/permission/helper.mjs +4 -5
- package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
- package/dist/adapters/http/request/permission/module.d.ts +3 -3
- package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/request/permission/module.mjs +5 -5
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/app/builder.d.ts +1 -2
- package/dist/app/builder.d.ts.map +1 -1
- package/dist/app/builder.mjs +0 -5
- package/dist/app/builder.mjs.map +1 -1
- package/dist/app/factory.d.ts.map +1 -1
- package/dist/app/factory.mjs +1 -1
- package/dist/app/factory.mjs.map +1 -1
- package/dist/app/index.mjs +1 -2
- package/dist/app/modules/config/types.d.ts +2 -2
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/constants.d.ts +0 -1
- package/dist/app/modules/constants.d.ts.map +1 -1
- package/dist/app/modules/constants.mjs +0 -1
- package/dist/app/modules/constants.mjs.map +1 -1
- package/dist/app/modules/http/constants.d.ts +3 -2
- package/dist/app/modules/http/constants.d.ts.map +1 -1
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/module.d.ts +2 -2
- package/dist/app/modules/http/module.d.ts.map +1 -1
- package/dist/app/modules/http/module.mjs +10 -17
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +32 -51
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +3 -6
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/index.d.ts +0 -1
- package/dist/app/modules/index.d.ts.map +1 -1
- package/dist/app/modules/index.mjs +1 -3
- package/dist/app/modules/runtime/module.d.ts.map +1 -1
- package/dist/app/modules/runtime/module.mjs +3 -1
- package/dist/app/modules/runtime/module.mjs.map +1 -1
- package/dist/cli/commands/healthcheck.mjs +1 -1
- package/dist/cli/commands/index.d.ts +0 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.mjs +1 -2
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.mjs +22 -1
- package/dist/cli/commands/start.mjs.map +1 -1
- package/dist/cli/module.d.ts.map +1 -1
- package/dist/cli/module.mjs +1 -3
- package/dist/cli/module.mjs.map +1 -1
- package/dist/core/oauth2/helpers/erorr.d.ts +1 -2
- package/dist/core/oauth2/helpers/erorr.d.ts.map +1 -1
- package/dist/core/oauth2/helpers/erorr.mjs +11 -10
- package/dist/core/oauth2/helpers/erorr.mjs.map +1 -1
- package/dist/index.mjs +4 -7
- package/dist/swagger.json +7139 -2355
- package/dist/ui/client/.vite/ssr-manifest.json +15 -90
- package/dist/ui/client/assets/index-DJBdH-x_.js +64 -0
- package/dist/ui/client/index.html +1 -1
- package/dist/ui/server/server.js +1120 -23992
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.mjs +7 -8
- package/dist/utils/error.mjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.mjs +2 -1
- package/dist/utils/url.d.ts +10 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.mjs +17 -0
- package/dist/utils/url.mjs.map +1 -0
- package/package.json +28 -28
- package/dist/adapters/http/server/index.d.ts +0 -3
- package/dist/adapters/http/server/index.d.ts.map +0 -1
- package/dist/adapters/http/server/index.mjs +0 -2
- package/dist/adapters/http/server/module.d.ts +0 -3
- package/dist/adapters/http/server/module.d.ts.map +0 -1
- package/dist/adapters/http/server/module.mjs +0 -10
- package/dist/adapters/http/server/module.mjs.map +0 -1
- package/dist/adapters/http/server/type.d.ts +0 -8
- package/dist/adapters/http/server/type.d.ts.map +0 -1
- package/dist/adapters/http/server/type.mjs +0 -1
- package/dist/adapters/http/swagger/index.d.ts +0 -3
- package/dist/adapters/http/swagger/index.d.ts.map +0 -1
- package/dist/adapters/http/swagger/index.mjs +0 -2
- package/dist/adapters/http/swagger/module.d.ts +0 -12
- package/dist/adapters/http/swagger/module.d.ts.map +0 -1
- package/dist/adapters/http/swagger/module.mjs +0 -75
- package/dist/adapters/http/swagger/module.mjs.map +0 -1
- package/dist/adapters/http/swagger/type.d.ts +0 -4
- package/dist/adapters/http/swagger/type.d.ts.map +0 -1
- package/dist/adapters/http/swagger/type.mjs +0 -1
- package/dist/app/modules/swagger/index.d.ts +0 -2
- package/dist/app/modules/swagger/index.d.ts.map +0 -1
- package/dist/app/modules/swagger/index.mjs +0 -2
- package/dist/app/modules/swagger/module.d.ts +0 -9
- package/dist/app/modules/swagger/module.d.ts.map +0 -1
- package/dist/app/modules/swagger/module.mjs +0 -32
- package/dist/app/modules/swagger/module.mjs.map +0 -1
- package/dist/cli/commands/swagger.d.ts +0 -8
- package/dist/cli/commands/swagger.d.ts.map +0 -1
- package/dist/cli/commands/swagger.mjs +0 -29
- package/dist/cli/commands/swagger.mjs.map +0 -1
- package/dist/ui/client/assets/index-Noe7uiOY.js +0 -41
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IRoutupEvent } from 'routup';
|
|
2
|
+
import type { ActivatePayload } from '@authup/core-http-kit';
|
|
2
3
|
import type { IRegistrationService } from '../../../../../core/index.ts';
|
|
3
4
|
export type ActivateControllerContext = {
|
|
4
5
|
service: IRegistrationService;
|
|
@@ -6,6 +7,6 @@ export type ActivateControllerContext = {
|
|
|
6
7
|
export declare class ActivateController {
|
|
7
8
|
protected service: IRegistrationService;
|
|
8
9
|
constructor(ctx: ActivateControllerContext);
|
|
9
|
-
execute(data:
|
|
10
|
+
execute(data: ActivatePayload, event: IRoutupEvent): Promise<null>;
|
|
10
11
|
}
|
|
11
12
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/activate/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/activate/module.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,MAAM,MAAM,yBAAyB,GAAG;IACpC,OAAO,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAEF,qBACa,kBAAkB;IAC3B,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC;gBAE5B,GAAG,EAAE,yBAAyB;IAKpC,OAAO,CACA,IAAI,EAAE,eAAe,EAClB,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,IAAI,CAAC;CASnB"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ActivateRequestValidator } from "./validator.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { DBody, DController, DPost, DRequest, DResponse } from "@routup/decorators";
|
|
2
|
+
import { DBody, DContext, DController, DPost } from "@routup/decorators";
|
|
4
3
|
//#region src/adapters/http/controllers/workflows/activate/module.ts
|
|
5
4
|
function _ts_decorate(decorators, target, key, desc) {
|
|
6
5
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -21,23 +20,19 @@ var ActivateController = class {
|
|
|
21
20
|
constructor(ctx) {
|
|
22
21
|
this.service = ctx.service;
|
|
23
22
|
}
|
|
24
|
-
async execute(data,
|
|
23
|
+
async execute(data, event) {
|
|
25
24
|
const validated = await new ActivateRequestValidator().run(data);
|
|
26
25
|
await this.service.activate(validated);
|
|
27
|
-
|
|
26
|
+
event.response.status = 202;
|
|
27
|
+
return null;
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
_ts_decorate([
|
|
31
31
|
DPost("", []),
|
|
32
32
|
_ts_param(0, DBody()),
|
|
33
|
-
_ts_param(1,
|
|
34
|
-
_ts_param(2, DResponse()),
|
|
33
|
+
_ts_param(1, DContext()),
|
|
35
34
|
_ts_metadata("design:type", Function),
|
|
36
|
-
_ts_metadata("design:paramtypes", [
|
|
37
|
-
Object,
|
|
38
|
-
typeof Request === "undefined" ? Object : Request,
|
|
39
|
-
typeof Response === "undefined" ? Object : Response
|
|
40
|
-
]),
|
|
35
|
+
_ts_metadata("design:paramtypes", [typeof ActivatePayload === "undefined" ? Object : ActivatePayload, typeof IRoutupEvent === "undefined" ? Object : IRoutupEvent]),
|
|
41
36
|
_ts_metadata("design:returntype", Promise)
|
|
42
37
|
], ActivateController.prototype, "execute", null);
|
|
43
38
|
ActivateController = _ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DPost","ActivateRequestValidator","ActivateController","service","ctx","execute","data","event","validator","validated","run","activate","response","status"],"sources":["../../../../../../src/adapters/http/controllers/workflows/activate/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 DBody,\n DContext,\n DController,\n DPost,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport type { ActivatePayload } from '@authup/core-http-kit';\nimport type { IRegistrationService } from '../../../../../core/index.ts';\nimport { ActivateRequestValidator } from './validator.ts';\n\nexport type ActivateControllerContext = {\n service: IRegistrationService,\n};\n\n@DController('/activate')\nexport class ActivateController {\n protected service: IRegistrationService;\n\n constructor(ctx: ActivateControllerContext) {\n this.service = ctx.service;\n }\n\n @DPost('', [])\n async execute(\n @DBody() data: ActivatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<null> {\n const validator = new ActivateRequestValidator();\n const validated = await validator.run(data);\n\n await this.service.activate(validated);\n\n event.response.status = 202;\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,IAAaK,qBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAgC;AACxC,OAAKD,UAAUC,IAAID;;CAGvB,MACME,QACF,MACA,OACa;EAEb,MAAMI,YAAY,MAAMD,IADFP,0BACEO,CAAUE,IAAIJ,KAAAA;AAEtC,QAAM,KAAKH,QAAQQ,SAASF,UAAAA;AAE5BF,QAAMK,SAASC,SAAS;AACxB,SAAO"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { OAuth2AuthorizationCodeRequest } from '@authup/core-kit';
|
|
1
|
+
import type { IRoutupEvent } from 'routup';
|
|
3
2
|
import { HTTPOAuth2Authorizer } from '../../../adapters/index.ts';
|
|
4
3
|
import type { IOAuth2AuthorizationCodeRequestVerifier } from '../../../../../core/index.ts';
|
|
4
|
+
import { OAuth2AuthorizationCodeRequestValidator } from '../../../../../core/index.ts';
|
|
5
5
|
import type { AuthorizeControllerContext, AuthorizeControllerOptions } from './types.ts';
|
|
6
6
|
export declare class AuthorizeController {
|
|
7
7
|
protected options: AuthorizeControllerOptions;
|
|
8
8
|
protected codeRequestVerifier: IOAuth2AuthorizationCodeRequestVerifier;
|
|
9
|
-
protected codeRequestValidator:
|
|
9
|
+
protected codeRequestValidator: OAuth2AuthorizationCodeRequestValidator;
|
|
10
10
|
protected authorizer: HTTPOAuth2Authorizer;
|
|
11
11
|
constructor(ctx: AuthorizeControllerContext);
|
|
12
|
-
confirm(
|
|
13
|
-
|
|
12
|
+
confirm(event: IRoutupEvent): Promise<{
|
|
13
|
+
url: string;
|
|
14
|
+
}>;
|
|
15
|
+
serve(event: IRoutupEvent): Promise<string>;
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/authorize/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/authorize/module.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAM3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AAC5F,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AAEvF,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEzF,qBACa,mBAAmB;IAI5B,SAAS,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAE9C,SAAS,CAAC,mBAAmB,EAAG,uCAAuC,CAAC;IAExE,SAAS,CAAC,oBAAoB,EAAG,uCAAuC,CAAC;IAEzE,SAAS,CAAC,UAAU,EAAE,oBAAoB,CAAC;gBAI/B,GAAG,EAAE,0BAA0B;IAmBrC,OAAO,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBlE,KAAK,CAAa,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;CA8EhE"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { OAuth2AuthorizationCodeRequestValidator } from "../../../../../core/oauth2/authorization/code-request/validator.mjs";
|
|
2
2
|
import "../../../../../core/index.mjs";
|
|
3
|
+
import { readFromLocations } from "../../../request/helpers/locations.mjs";
|
|
4
|
+
import "../../../request/index.mjs";
|
|
3
5
|
import { HTTPOAuth2Authorizer } from "../../../adapters/oauth2/authorization/module.mjs";
|
|
4
6
|
import "../../../adapters/index.mjs";
|
|
5
7
|
import { ForceUserLoggedInMiddleware } from "../../../middleware/built-in/loggedin/user.mjs";
|
|
6
8
|
import { UI_DIST_PATH, UI_SOURCE_PATH } from "../../../../../path.mjs";
|
|
9
|
+
import { VITE_SERVER_STORE_KEY } from "../../../middleware/built-in/assets.mjs";
|
|
7
10
|
import { sanitizeError } from "../../../../../utils/error.mjs";
|
|
8
11
|
import "../../../../../utils/index.mjs";
|
|
9
12
|
import "../../../middleware/index.mjs";
|
|
10
13
|
import path from "node:path";
|
|
11
14
|
import { CodeTransformation, isCodeTransformation } from "typeorm-extension";
|
|
12
|
-
import {
|
|
13
|
-
import { RoutupContainerAdapter } from "@validup/adapter-routup";
|
|
14
|
-
import { DController, DGet, DPost, DRequest, DResponse } from "@routup/decorators";
|
|
15
|
+
import { DContext, DController, DGet, DPost } from "@routup/decorators";
|
|
15
16
|
import { load } from "locter";
|
|
16
17
|
import { URL } from "node:url";
|
|
17
18
|
import fs from "node:fs";
|
|
@@ -38,8 +39,7 @@ var AuthorizeController = class {
|
|
|
38
39
|
constructor(ctx) {
|
|
39
40
|
this.options = ctx.options;
|
|
40
41
|
this.codeRequestVerifier = ctx.codeRequestVerifier;
|
|
41
|
-
|
|
42
|
-
this.codeRequestValidator = new RoutupContainerAdapter(validator);
|
|
42
|
+
this.codeRequestValidator = new OAuth2AuthorizationCodeRequestValidator();
|
|
43
43
|
this.authorizer = new HTTPOAuth2Authorizer({
|
|
44
44
|
codeRequestVerifier: this.codeRequestVerifier,
|
|
45
45
|
accessTokenIssuer: ctx.accessTokenIssuer,
|
|
@@ -48,22 +48,23 @@ var AuthorizeController = class {
|
|
|
48
48
|
identityResolver: ctx.identityResolver
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
async confirm(
|
|
52
|
-
const result = await this.authorizer.authorizeWithRequest(
|
|
51
|
+
async confirm(event) {
|
|
52
|
+
const result = await this.authorizer.authorizeWithRequest(event);
|
|
53
53
|
const url = new URL(result.redirectUri);
|
|
54
54
|
if (result.state) url.searchParams.set("state", result.state);
|
|
55
55
|
if (result.authorizationCode) url.searchParams.set("code", result.authorizationCode);
|
|
56
56
|
if (result.accessToken) url.searchParams.set("access_token", result.accessToken);
|
|
57
57
|
if (result.idToken) url.searchParams.set("id_token", result.idToken);
|
|
58
|
-
return
|
|
58
|
+
return { url: url.href };
|
|
59
59
|
}
|
|
60
|
-
async serve(
|
|
60
|
+
async serve(event) {
|
|
61
61
|
let codeRequest;
|
|
62
62
|
let client;
|
|
63
63
|
let scopes;
|
|
64
64
|
let error;
|
|
65
65
|
try {
|
|
66
|
-
const
|
|
66
|
+
const merged = await readFromLocations(event, ["body", "query"]);
|
|
67
|
+
const data = await this.codeRequestValidator.run(merged);
|
|
67
68
|
const result = await this.codeRequestVerifier.verify(data);
|
|
68
69
|
client = result.client;
|
|
69
70
|
scopes = result.scopes;
|
|
@@ -89,9 +90,7 @@ var AuthorizeController = class {
|
|
|
89
90
|
let manifest;
|
|
90
91
|
let render;
|
|
91
92
|
if (isJIT) {
|
|
92
|
-
|
|
93
|
-
* @type {import('vite').ViteDevServer}
|
|
94
|
-
*/ const vite = useRequestParam(req, "viteServer");
|
|
93
|
+
const vite = event.store[VITE_SERVER_STORE_KEY];
|
|
95
94
|
html = await fs.promises.readFile(path.join(UI_SOURCE_PATH, "index.html"), "utf-8");
|
|
96
95
|
html = await vite.transformIndexHtml("/", html);
|
|
97
96
|
manifest = {};
|
|
@@ -106,23 +105,23 @@ var AuthorizeController = class {
|
|
|
106
105
|
manifest,
|
|
107
106
|
payload
|
|
108
107
|
});
|
|
109
|
-
|
|
108
|
+
const body = html.replace("<!--preload-links-->", preloadLinks).replace("<!--app-html-->", appHtml);
|
|
109
|
+
event.response.headers.set("content-type", "text/html; charset=utf-8");
|
|
110
|
+
return body;
|
|
110
111
|
}
|
|
111
112
|
};
|
|
112
113
|
_ts_decorate([
|
|
113
114
|
DPost("", [ForceUserLoggedInMiddleware]),
|
|
114
|
-
_ts_param(0,
|
|
115
|
-
_ts_param(1, DResponse()),
|
|
115
|
+
_ts_param(0, DContext()),
|
|
116
116
|
_ts_metadata("design:type", Function),
|
|
117
|
-
_ts_metadata("design:paramtypes", [Object
|
|
117
|
+
_ts_metadata("design:paramtypes", [typeof IRoutupEvent === "undefined" ? Object : IRoutupEvent]),
|
|
118
118
|
_ts_metadata("design:returntype", Promise)
|
|
119
119
|
], AuthorizeController.prototype, "confirm", null);
|
|
120
120
|
_ts_decorate([
|
|
121
121
|
DGet("", []),
|
|
122
|
-
_ts_param(0,
|
|
123
|
-
_ts_param(1, DResponse()),
|
|
122
|
+
_ts_param(0, DContext()),
|
|
124
123
|
_ts_metadata("design:type", Function),
|
|
125
|
-
_ts_metadata("design:paramtypes", [Object
|
|
124
|
+
_ts_metadata("design:paramtypes", [typeof IRoutupEvent === "undefined" ? Object : IRoutupEvent]),
|
|
126
125
|
_ts_metadata("design:returntype", Promise)
|
|
127
126
|
], AuthorizeController.prototype, "serve", null);
|
|
128
127
|
AuthorizeController = _ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DController","DGet","DPost","
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DContext","DController","DGet","DPost","load","fs","path","URL","CodeTransformation","isCodeTransformation","UI_DIST_PATH","UI_SOURCE_PATH","ForceUserLoggedInMiddleware","VITE_SERVER_STORE_KEY","HTTPOAuth2Authorizer","readFromLocations","OAuth2AuthorizationCodeRequestValidator","sanitizeError","AuthorizeController","options","codeRequestVerifier","codeRequestValidator","authorizer","ctx","accessTokenIssuer","openIdTokenIssuer","codeIssuer","identityResolver","confirm","event","result","authorizeWithRequest","url","redirectUri","state","searchParams","set","authorizationCode","accessToken","idToken","href","serve","codeRequest","client","scopes","error","merged","data","run","verify","e","normalized","message","isJIT","JUST_IN_TIME","payload","config","baseURL","html","manifest","render","vite","store","promises","readFile","join","transformIndexHtml","ssrLoadModule","JSON","parse","appHtml","preloadLinks","body","replace","response","headers"],"sources":["../../../../../../src/adapters/http/controllers/workflows/authorize/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 {\n DContext,\n DController,\n DGet,\n DPost,\n} from '@routup/decorators';\nimport { load } from 'locter';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { URL } from 'node:url';\n\nimport type { IRoutupEvent } from 'routup';\nimport type { ViteDevServer } from 'vite';\nimport type { Client, OAuth2AuthorizationCodeRequest, Scope } from '@authup/core-kit';\nimport { CodeTransformation, isCodeTransformation } from 'typeorm-extension';\nimport { UI_DIST_PATH, UI_SOURCE_PATH } from '../../../../../path.ts';\nimport { ForceUserLoggedInMiddleware, VITE_SERVER_STORE_KEY } from '../../../middleware/index.ts';\nimport { HTTPOAuth2Authorizer } from '../../../adapters/index.ts';\nimport { readFromLocations } from '../../../request/index.ts';\nimport type { IOAuth2AuthorizationCodeRequestVerifier } from '../../../../../core/index.ts';\nimport { OAuth2AuthorizationCodeRequestValidator } from '../../../../../core/index.ts';\nimport { sanitizeError } from '../../../../../utils/index.ts';\nimport type { AuthorizeControllerContext, AuthorizeControllerOptions } from './types.ts';\n\n@DController('/authorize')\nexport class AuthorizeController {\n // todo: maybe /realms/<realm>/protocol/openid-connect/authorize\n // todo: maybe /realms/<realm>/[...]/authorize\n\n protected options: AuthorizeControllerOptions;\n\n protected codeRequestVerifier : IOAuth2AuthorizationCodeRequestVerifier;\n\n protected codeRequestValidator : OAuth2AuthorizationCodeRequestValidator;\n\n protected authorizer: HTTPOAuth2Authorizer;\n\n // ---------------------------------------------------------\n\n constructor(ctx: AuthorizeControllerContext) {\n this.options = ctx.options;\n\n this.codeRequestVerifier = ctx.codeRequestVerifier;\n\n this.codeRequestValidator = new OAuth2AuthorizationCodeRequestValidator();\n\n this.authorizer = new HTTPOAuth2Authorizer({\n codeRequestVerifier: this.codeRequestVerifier,\n accessTokenIssuer: ctx.accessTokenIssuer,\n openIdTokenIssuer: ctx.openIdTokenIssuer,\n codeIssuer: ctx.codeIssuer,\n identityResolver: ctx.identityResolver,\n });\n }\n\n // ---------------------------------------------------------\n\n @DPost('', [ForceUserLoggedInMiddleware])\n async confirm(@DContext() event: IRoutupEvent): Promise<{ url: string }> {\n const result = await this.authorizer.authorizeWithRequest(event);\n\n const url = new URL(result.redirectUri);\n if (result.state) {\n url.searchParams.set('state', result.state);\n }\n\n if (result.authorizationCode) {\n url.searchParams.set('code', result.authorizationCode);\n }\n\n if (result.accessToken) {\n url.searchParams.set('access_token', result.accessToken);\n }\n\n if (result.idToken) {\n url.searchParams.set('id_token', result.idToken);\n }\n\n return { url: url.href };\n }\n\n @DGet('', [])\n async serve(@DContext() event: IRoutupEvent): Promise<string> {\n let codeRequest : OAuth2AuthorizationCodeRequest | undefined;\n\n let client : Client | undefined;\n let scopes : Scope[] | undefined;\n\n let error : Error | undefined;\n\n try {\n const merged = await readFromLocations(event, ['body', 'query']);\n const data = await this.codeRequestValidator.run(merged);\n\n const result = await this.codeRequestVerifier.verify(data);\n client = result.client;\n scopes = result.scopes;\n\n codeRequest = result.data;\n } catch (e) {\n const normalized = sanitizeError(e);\n error = {\n ...normalized,\n message: normalized.message,\n };\n }\n\n const isJIT = isCodeTransformation(CodeTransformation.JUST_IN_TIME);\n\n const payload = {\n config: { baseURL: this.options.baseURL },\n data: {\n codeRequest,\n error,\n client,\n scopes,\n },\n };\n\n let html : string;\n let manifest : Record<string, any>;\n let render : CallableFunction;\n\n if (isJIT) {\n const vite = event.store[VITE_SERVER_STORE_KEY] as ViteDevServer;\n\n html = await fs.promises.readFile(\n path.join(UI_SOURCE_PATH, 'index.html'),\n 'utf-8',\n );\n html = await vite.transformIndexHtml('/', html);\n manifest = {};\n render = (await vite.ssrLoadModule('/src/server.ts')).render;\n } else {\n html = await fs.promises.readFile(\n path.join(UI_DIST_PATH, 'client', 'index.html'),\n 'utf-8',\n );\n\n manifest = JSON.parse(await fs.promises.readFile(\n path.join(UI_DIST_PATH, 'client', '.vite', 'ssr-manifest.json'),\n 'utf-8',\n ));\n\n render = (await load(path.join(UI_DIST_PATH, 'server', 'server.js'))).render;\n }\n\n const [appHtml, preloadLinks] = await render({\n url: '/authorize',\n manifest,\n payload,\n });\n\n const body = html\n .replace('<!--preload-links-->', preloadLinks)\n .replace('<!--app-html-->', appHtml);\n\n event.response.headers.set('content-type', 'text/html; charset=utf-8');\n return body;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAakB,sBAAb,MAAaA;CAICC;CAEAC;CAEAC;CAEAC;CAIV,YAAYC,KAAiC;AACzC,OAAKJ,UAAUI,IAAIJ;AAEnB,OAAKC,sBAAsBG,IAAIH;AAE/B,OAAKC,uBAAuB,IAAIL,yCAAAA;AAEhC,OAAKM,aAAa,IAAIR,qBAAqB;GACvCM,qBAAqB,KAAKA;GAC1BI,mBAAmBD,IAAIC;GACvBC,mBAAmBF,IAAIE;GACvBC,YAAYH,IAAIG;GAChBC,kBAAkBJ,IAAII;GAC1B,CAAA;;CAKJ,MACMC,QAAQ,OAA2D;EACrE,MAAME,SAAS,MAAM,KAAKR,WAAWS,qBAAqBF,MAAAA;EAE1D,MAAMG,MAAM,IAAIzB,IAAIuB,OAAOG,YAAW;AACtC,MAAIH,OAAOI,MACPF,KAAIG,aAAaC,IAAI,SAASN,OAAOI,MAAK;AAG9C,MAAIJ,OAAOO,kBACPL,KAAIG,aAAaC,IAAI,QAAQN,OAAOO,kBAAiB;AAGzD,MAAIP,OAAOQ,YACPN,KAAIG,aAAaC,IAAI,gBAAgBN,OAAOQ,YAAW;AAG3D,MAAIR,OAAOS,QACPP,KAAIG,aAAaC,IAAI,YAAYN,OAAOS,QAAO;AAGnD,SAAO,EAAEP,KAAKA,IAAIQ,MAAK;;CAG3B,MACMC,MAAM,OAAkD;EAC1D,IAAIC;EAEJ,IAAIC;EACJ,IAAIC;EAEJ,IAAIC;AAEJ,MAAI;GACA,MAAMC,SAAS,MAAM/B,kBAAkBc,OAAO,CAAC,QAAQ,QAAQ,CAAA;GAC/D,MAAMkB,OAAO,MAAM,KAAK1B,qBAAqB2B,IAAIF,OAAAA;GAEjD,MAAMhB,SAAS,MAAM,KAAKV,oBAAoB6B,OAAOF,KAAAA;AACrDJ,YAASb,OAAOa;AAChBC,YAASd,OAAOc;AAEhBF,iBAAcZ,OAAOiB;WAChBG,GAAG;GACR,MAAMC,aAAalC,cAAciC,EAAAA;AACjCL,WAAQ;IACJ,GAAGM;IACHC,SAASD,WAAWC;IACxB;;EAGJ,MAAMC,QAAQ5C,qBAAqBD,mBAAmB8C,aAAY;EAElE,MAAMC,UAAU;GACZC,QAAQ,EAAEC,SAAS,KAAKtC,QAAQsC,SAAQ;GACxCV,MAAM;IACFL;IACAG;IACAF;IACAC;IACJ;GACJ;EAEA,IAAIc;EACJ,IAAIC;EACJ,IAAIC;AAEJ,MAAIP,OAAO;GACP,MAAMQ,OAAOhC,MAAMiC,MAAMjD;AAEzB6C,UAAO,MAAMrD,GAAG0D,SAASC,SACrB1D,KAAK2D,KAAKtD,gBAAgB,aAAA,EAC1B,QAAA;AAEJ+C,UAAO,MAAMG,KAAKK,mBAAmB,KAAKR,KAAAA;AAC1CC,cAAW,EAAC;AACZC,aAAU,MAAMC,KAAKM,cAAc,iBAAgB,EAAGP;SACnD;AACHF,UAAO,MAAMrD,GAAG0D,SAASC,SACrB1D,KAAK2D,KAAKvD,cAAc,UAAU,aAAA,EAClC,QAAA;AAGJiD,cAAWS,KAAKC,MAAM,MAAMhE,GAAG0D,SAASC,SACpC1D,KAAK2D,KAAKvD,cAAc,UAAU,SAAS,oBAAA,EAC3C,QAAA,CAAA;AAGJkD,aAAU,MAAMxD,KAAKE,KAAK2D,KAAKvD,cAAc,UAAU,YAAA,CAAY,EAAGkD;;EAG1E,MAAM,CAACU,SAASC,gBAAgB,MAAMX,OAAO;GACzC5B,KAAK;GACL2B;GACAJ;GACJ,CAAA;EAEA,MAAMiB,OAAOd,KACRe,QAAQ,wBAAwBF,aAAAA,CAChCE,QAAQ,mBAAmBH,QAAAA;AAEhCzC,QAAM6C,SAASC,QAAQvC,IAAI,gBAAgB,2BAAA;AAC3C,SAAOoC;;;;YArGC5D,4BAAAA,CAAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OAuth2JsonWebKey } from '@authup/specs';
|
|
2
2
|
import type { Repository } from 'typeorm';
|
|
3
3
|
import type { KeyEntity } from '../../../../../database/domains/index.ts';
|
|
4
|
-
export declare function getJwksRouteHandler(
|
|
5
|
-
|
|
4
|
+
export declare function getJwksRouteHandler(repository: Repository<KeyEntity>, realmId?: string): Promise<{
|
|
5
|
+
keys: OAuth2JsonWebKey[];
|
|
6
|
+
}>;
|
|
7
|
+
export declare function getJwkRouteHandler(repository: Repository<KeyEntity>, keyId: string, realmId?: string): Promise<OAuth2JsonWebKey>;
|
|
6
8
|
//# sourceMappingURL=read.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapters/http/controllers/workflows/jwks/handlers/read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapters/http/controllers/workflows/jwks/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAE1E,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EACjC,OAAO,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;CAAE,CAAC,CA6BxC;AAED,wBAAsB,kBAAkB,CACpC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EACjC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA+B5B"}
|
|
@@ -2,9 +2,8 @@ import { In } from "typeorm";
|
|
|
2
2
|
import { AsymmetricKey } from "@authup/server-kit";
|
|
3
3
|
import { JWKType } from "@authup/specs";
|
|
4
4
|
import { BadRequestError, NotFoundError } from "@ebec/http";
|
|
5
|
-
import { send } from "routup";
|
|
6
5
|
//#region src/adapters/http/controllers/workflows/jwks/handlers/read.ts
|
|
7
|
-
async function getJwksRouteHandler(
|
|
6
|
+
async function getJwksRouteHandler(repository, realmId) {
|
|
8
7
|
const promises = (await repository.find({
|
|
9
8
|
where: {
|
|
10
9
|
type: In([JWKType.RSA, JWKType.EC]),
|
|
@@ -20,9 +19,9 @@ async function getJwksRouteHandler(res, repository, realmId) {
|
|
|
20
19
|
kid: entity.id,
|
|
21
20
|
alg: entity.signature_algorithm
|
|
22
21
|
})));
|
|
23
|
-
return
|
|
22
|
+
return { keys: await Promise.all(promises) };
|
|
24
23
|
}
|
|
25
|
-
async function getJwkRouteHandler(
|
|
24
|
+
async function getJwkRouteHandler(repository, keyId, realmId) {
|
|
26
25
|
const entity = await repository.findOne({ where: {
|
|
27
26
|
type: In([JWKType.RSA, JWKType.EC]),
|
|
28
27
|
id: keyId,
|
|
@@ -30,16 +29,15 @@ async function getJwkRouteHandler(res, repository, keyId, realmId) {
|
|
|
30
29
|
} });
|
|
31
30
|
if (!entity) throw new NotFoundError();
|
|
32
31
|
if (!entity.encryption_key) throw new BadRequestError("The encryption key does not exist");
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
32
|
+
return {
|
|
33
|
+
...await (await AsymmetricKey.fromBase64({
|
|
34
|
+
format: "spki",
|
|
35
|
+
key: entity.encryption_key,
|
|
36
|
+
options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm)
|
|
37
|
+
})).toJWK(),
|
|
38
|
+
kid: entity.id,
|
|
39
|
+
alg: entity.signature_algorithm
|
|
40
|
+
};
|
|
43
41
|
}
|
|
44
42
|
//#endregion
|
|
45
43
|
export { getJwkRouteHandler, getJwksRouteHandler };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.mjs","names":["AsymmetricKey","JWKType","
|
|
1
|
+
{"version":3,"file":"read.mjs","names":["AsymmetricKey","JWKType","In","BadRequestError","NotFoundError","getJwksRouteHandler","repository","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","getJwkRouteHandler","keyId","findOne","jsonWebKey"],"sources":["../../../../../../../src/adapters/http/controllers/workflows/jwks/handlers/read.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AsymmetricKey } from '@authup/server-kit';\nimport type { OAuth2JsonWebKey } from '@authup/specs';\nimport { JWKType } from '@authup/specs';\nimport type { Repository } from 'typeorm';\nimport { In } from 'typeorm';\nimport { BadRequestError, NotFoundError } from '@ebec/http';\nimport type { KeyEntity } from '../../../../../database/domains/index.ts';\n\nexport async function getJwksRouteHandler(\n repository: Repository<KeyEntity>,\n realmId?: string,\n) : Promise<{ keys: OAuth2JsonWebKey[] }> {\n const entities = await repository.find({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n ...(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\nexport async function getJwkRouteHandler(\n repository: Repository<KeyEntity>,\n keyId: string,\n realmId?: string,\n) : Promise<OAuth2JsonWebKey> {\n const entity = await repository.findOne({\n where: {\n type: In([JWKType.RSA, JWKType.EC]),\n id: keyId,\n ...(realmId ? { realm_id: realmId } : {}),\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"],"mappings":";;;;;AAeA,eAAsBK,oBAClBC,YACAC,SAAgB;CAUhB,MAAMU,YAAWT,MARMF,WAAWG,KAAK;EACnCC,OAAO;GACHC,MAAMT,GAAG,CAACD,QAAQW,KAAKX,QAAQY,GAAG,CAAA;GAClC,GAAIN,UAAU,EAAEO,UAAUP,SAAQ,GAAI,EAAE;GAC5C;EACAQ,OAAO,EAAEC,UAAU,QAAO;EAC9B,CAAA,EAGKE,QAAQC,WAA6D,CAAC,CAACA,OAAOC,eAAc,CAC5FC,KACIF,WAAWnB,cACPsB,WAAW;EACRC,QAAQ;EACRC,KAAKL,OAAOC;EACZK,SAASzB,cAAc0B,kCAAkCP,OAAOQ,oBAAmB;EACvF,CAAA,CACCC,MAAMC,cAAcA,UAAUC,OAAK,CAAA,CACnCF,MAAMJ,SAAS;EACZ,GAAGA;EACHO,KAAKZ,OAAOa;EACZC,KAAKd,OAAOQ;EAChB,EAAA,CAAA;AAKZ,QAAO,EAAEO,MAAAA,MAFUC,QAAQC,IAAInB,SAAAA,EAEjB;;AAGlB,eAAsBoB,mBAClB/B,YACAgC,OACA/B,SAAgB;CAEhB,MAAMY,SAAS,MAAMb,WAAWiC,QAAQ,EACpC7B,OAAO;EACHC,MAAMT,GAAG,CAACD,QAAQW,KAAKX,QAAQY,GAAG,CAAA;EAClCmB,IAAIM;EACJ,GAAI/B,UAAU,EAAEO,UAAUP,SAAQ,GAAI,EAAE;EAC5C,EACJ,CAAA;AAEA,KAAI,CAACY,OACD,OAAM,IAAIf,eAAAA;AAGd,KAAI,CAACe,OAAOC,eACR,OAAM,IAAIjB,gBAAgB,oCAAA;AAY9B,QAAO;EACH,GAAGqC,OAHkBX,MAPD7B,cACnBsB,WAAW;GACRC,QAAQ;GACRC,KAAKL,OAAOC;GACZK,SAASzB,cAAc0B,kCAAkCP,OAAOQ,oBAAmB;GACvF,CAAA,EAE+BG,OAAK;EAIpCC,KAAKZ,OAAOa;EACZC,KAAKd,OAAOQ;EAChB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OAuth2JsonWebKey } from '@authup/specs';
|
|
2
|
+
import type { IRoutupEvent } from 'routup';
|
|
2
3
|
import type { Repository } from 'typeorm';
|
|
3
4
|
import type { KeyEntity } from '../../../../database/domains/index.ts';
|
|
4
5
|
export type JwkControllerContext = {
|
|
@@ -7,7 +8,9 @@ export type JwkControllerContext = {
|
|
|
7
8
|
export declare class JwkController {
|
|
8
9
|
protected repository: Repository<KeyEntity>;
|
|
9
10
|
constructor(ctx: JwkControllerContext);
|
|
10
|
-
getManyJwks(
|
|
11
|
-
|
|
11
|
+
getManyJwks(event: IRoutupEvent): Promise<{
|
|
12
|
+
keys: OAuth2JsonWebKey[];
|
|
13
|
+
}>;
|
|
14
|
+
getOneJwks(id: string): Promise<OAuth2JsonWebKey>;
|
|
12
15
|
}
|
|
13
16
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/jwks/module.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -4,8 +4,7 @@ import { In } from "typeorm";
|
|
|
4
4
|
import { AsymmetricKey } from "@authup/server-kit";
|
|
5
5
|
import { JWKType } from "@authup/specs";
|
|
6
6
|
import { BadRequestError, NotFoundError } from "@ebec/http";
|
|
7
|
-
import {
|
|
8
|
-
import { DController, DGet, DPath, DRequest, DResponse } from "@routup/decorators";
|
|
7
|
+
import { DContext, DController, DGet, DPath } from "@routup/decorators";
|
|
9
8
|
//#region src/adapters/http/controllers/workflows/jwks/module.ts
|
|
10
9
|
function _ts_decorate(decorators, target, key, desc) {
|
|
11
10
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -26,8 +25,8 @@ var JwkController = class {
|
|
|
26
25
|
constructor(ctx) {
|
|
27
26
|
this.repository = ctx.repository;
|
|
28
27
|
}
|
|
29
|
-
async getManyJwks(
|
|
30
|
-
const realmId = getRequestStringParam(
|
|
28
|
+
async getManyJwks(event) {
|
|
29
|
+
const realmId = getRequestStringParam(event, "realmId");
|
|
31
30
|
const promises = (await this.repository.find({
|
|
32
31
|
where: {
|
|
33
32
|
type: In([JWKType.RSA, JWKType.EC]),
|
|
@@ -43,46 +42,38 @@ var JwkController = class {
|
|
|
43
42
|
kid: entity.id,
|
|
44
43
|
alg: entity.signature_algorithm
|
|
45
44
|
})));
|
|
46
|
-
return
|
|
45
|
+
return { keys: await Promise.all(promises) };
|
|
47
46
|
}
|
|
48
|
-
async getOneJwks(id
|
|
47
|
+
async getOneJwks(id) {
|
|
49
48
|
const entity = await this.repository.findOne({ where: {
|
|
50
49
|
type: In([JWKType.RSA, JWKType.EC]),
|
|
51
50
|
id
|
|
52
51
|
} });
|
|
53
52
|
if (!entity) throw new NotFoundError();
|
|
54
53
|
if (!entity.encryption_key) throw new BadRequestError("The encryption key does not exist");
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
54
|
+
return {
|
|
55
|
+
...await (await AsymmetricKey.fromBase64({
|
|
56
|
+
format: "spki",
|
|
57
|
+
key: entity.encryption_key,
|
|
58
|
+
options: AsymmetricKey.buildImportOptionsForJWTAlgorithm(entity.signature_algorithm)
|
|
59
|
+
})).toJWK(),
|
|
60
|
+
kid: entity.id,
|
|
61
|
+
alg: entity.signature_algorithm
|
|
62
|
+
};
|
|
65
63
|
}
|
|
66
64
|
};
|
|
67
65
|
_ts_decorate([
|
|
68
66
|
DGet("/jwks", []),
|
|
69
|
-
_ts_param(0,
|
|
70
|
-
_ts_param(1, DResponse()),
|
|
67
|
+
_ts_param(0, DContext()),
|
|
71
68
|
_ts_metadata("design:type", Function),
|
|
72
|
-
_ts_metadata("design:paramtypes", [typeof
|
|
69
|
+
_ts_metadata("design:paramtypes", [typeof IRoutupEvent === "undefined" ? Object : IRoutupEvent]),
|
|
73
70
|
_ts_metadata("design:returntype", Promise)
|
|
74
71
|
], JwkController.prototype, "getManyJwks", null);
|
|
75
72
|
_ts_decorate([
|
|
76
73
|
DGet("/jwks/:id", []),
|
|
77
74
|
_ts_param(0, DPath("id")),
|
|
78
|
-
_ts_param(1, DRequest()),
|
|
79
|
-
_ts_param(2, DResponse()),
|
|
80
75
|
_ts_metadata("design:type", Function),
|
|
81
|
-
_ts_metadata("design:paramtypes", [
|
|
82
|
-
String,
|
|
83
|
-
typeof Request === "undefined" ? Object : Request,
|
|
84
|
-
typeof Response === "undefined" ? Object : Response
|
|
85
|
-
]),
|
|
76
|
+
_ts_metadata("design:paramtypes", [String]),
|
|
86
77
|
_ts_metadata("design:returntype", Promise)
|
|
87
78
|
], JwkController.prototype, "getOneJwks", null);
|
|
88
79
|
JwkController = _ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["JWKType","AsymmetricKey","DController","DGet","DPath","
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/openid/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/openid/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAQ5D,MAAM,MAAM,uBAAuB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAClB,CAAC;AAEF,qBACa,gBAAgB;IACzB,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;gBAE/B,OAAO,EAAE,uBAAuB;IAKtC,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC;CA0ClE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { resolveURL } from "../../../../../utils/url.mjs";
|
|
2
|
+
import "../../../../../utils/index.mjs";
|
|
1
3
|
import { OAuth2AuthorizationResponseType } from "@authup/specs";
|
|
2
4
|
import { DController, DGet } from "@routup/decorators";
|
|
3
5
|
//#region src/adapters/http/controllers/workflows/openid/module.ts
|
|
@@ -16,10 +18,11 @@ var OpenIDController = class {
|
|
|
16
18
|
this.options = options;
|
|
17
19
|
}
|
|
18
20
|
async getOpenIdConfiguration() {
|
|
21
|
+
const { baseURL } = this.options;
|
|
19
22
|
return {
|
|
20
|
-
issuer:
|
|
21
|
-
authorization_endpoint:
|
|
22
|
-
jwks_uri:
|
|
23
|
+
issuer: baseURL,
|
|
24
|
+
authorization_endpoint: resolveURL(baseURL, "authorize"),
|
|
25
|
+
jwks_uri: resolveURL(baseURL, "jwks"),
|
|
23
26
|
response_types_supported: [
|
|
24
27
|
OAuth2AuthorizationResponseType.CODE,
|
|
25
28
|
OAuth2AuthorizationResponseType.TOKEN,
|
|
@@ -35,11 +38,11 @@ var OpenIDController = class {
|
|
|
35
38
|
"RS512",
|
|
36
39
|
"none"
|
|
37
40
|
],
|
|
38
|
-
token_endpoint:
|
|
39
|
-
introspection_endpoint:
|
|
40
|
-
revocation_endpoint:
|
|
41
|
+
token_endpoint: resolveURL(baseURL, "token"),
|
|
42
|
+
introspection_endpoint: resolveURL(baseURL, "token/introspect"),
|
|
43
|
+
revocation_endpoint: resolveURL(baseURL, "token"),
|
|
41
44
|
service_documentation: "https://authup.org/",
|
|
42
|
-
userinfo_endpoint:
|
|
45
|
+
userinfo_endpoint: resolveURL(baseURL, "users/@me")
|
|
43
46
|
};
|
|
44
47
|
}
|
|
45
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["OAuth2AuthorizationResponseType","DController","DGet","OpenIDController","options","getOpenIdConfiguration","
|
|
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,5 +1,5 @@
|
|
|
1
|
-
import type { PasswordForgotResponse } from '@authup/core-http-kit';
|
|
2
|
-
import type {
|
|
1
|
+
import type { PasswordForgotPayload, PasswordForgotResponse } from '@authup/core-http-kit';
|
|
2
|
+
import type { IRoutupEvent } from 'routup';
|
|
3
3
|
import type { IPasswordRecoveryService } from '../../../../../core/index.ts';
|
|
4
4
|
export type PasswordForgotControllerContext = {
|
|
5
5
|
service: IPasswordRecoveryService;
|
|
@@ -7,6 +7,6 @@ export type PasswordForgotControllerContext = {
|
|
|
7
7
|
export declare class PasswordForgotController {
|
|
8
8
|
protected service: IPasswordRecoveryService;
|
|
9
9
|
constructor(ctx: PasswordForgotControllerContext);
|
|
10
|
-
execute(data:
|
|
10
|
+
execute(data: PasswordForgotPayload, event: IRoutupEvent): Promise<PasswordForgotResponse>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/password-forgot/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/workflows/password-forgot/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAO3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAE7E,MAAM,MAAM,+BAA+B,GAAG;IAC1C,OAAO,EAAE,wBAAwB,CAAC;CACrC,CAAC;AAEF,qBACa,wBAAwB;IACjC,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;gBAEhC,GAAG,EAAE,+BAA+B;IAK1C,OAAO,CACA,IAAI,EAAE,qBAAqB,EACxB,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,sBAAsB,CAAC;CAOrC"}
|