@authup/server-core 1.0.0-beta.52 → 1.0.0-beta.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
- package/dist/adapters/database/data-source/options/module.mjs +18 -21
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.d.ts +17 -14
- package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +72 -30
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.mjs +42 -23
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
- package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
- package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/entity.d.ts +20 -0
- package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -0
- package/dist/adapters/database/domains/consent/entity.mjs +125 -0
- package/dist/adapters/database/domains/consent/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/consent/index.d.ts.map +1 -0
- package/dist/adapters/database/domains/consent/index.mjs +6 -0
- package/dist/adapters/database/domains/consent/subscriber.d.ts +6 -0
- package/dist/adapters/database/domains/consent/subscriber.d.ts.map +1 -0
- package/dist/adapters/database/domains/{robot-role → consent}/subscriber.mjs +11 -11
- package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/constants.d.ts +1 -3
- package/dist/adapters/database/domains/constants.d.ts.map +1 -1
- package/dist/adapters/database/domains/constants.mjs +1 -3
- package/dist/adapters/database/domains/constants.mjs.map +1 -1
- package/dist/adapters/database/domains/event/entity.d.ts +22 -0
- package/dist/adapters/database/domains/event/entity.d.ts.map +1 -0
- package/dist/adapters/database/domains/event/entity.mjs +189 -0
- package/dist/adapters/database/domains/event/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/event/index.d.ts +2 -0
- package/dist/adapters/database/domains/event/index.d.ts.map +1 -0
- package/dist/adapters/database/domains/event/index.mjs +5 -0
- package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
- package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
- package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
- package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs +52 -33
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/index.d.ts +4 -3
- package/dist/adapters/database/domains/index.d.ts.map +1 -1
- package/dist/adapters/database/domains/index.mjs +24 -24
- package/dist/adapters/database/domains/key/entity.d.ts +12 -8
- package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/key/entity.mjs +56 -21
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
- package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/permission/entity.mjs +33 -18
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
- package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.mjs +31 -19
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
- package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy/entity.mjs +28 -14
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/repository.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy/repository.mjs +6 -6
- package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
- package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/realm/entity.mjs +16 -8
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/entity.d.ts +6 -6
- package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role/entity.mjs +30 -16
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/repository.mjs +4 -4
- package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.mjs +39 -23
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
- package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/scope/entity.mjs +23 -12
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.d.ts +14 -15
- package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +50 -38
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
- package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
- package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/trust-anchor/entity.d.ts +13 -0
- package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -0
- package/dist/adapters/database/domains/trust-anchor/entity.mjs +61 -0
- package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/trust-anchor/index.d.ts +2 -0
- package/dist/adapters/database/domains/trust-anchor/index.d.ts.map +1 -0
- package/dist/adapters/database/domains/trust-anchor/index.mjs +5 -0
- package/dist/adapters/database/domains/user/entity.d.ts +12 -12
- package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs +42 -27
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/repository.mjs +3 -3
- package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-authenticator/entity.d.ts +20 -0
- package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -0
- package/dist/adapters/database/domains/user-authenticator/entity.mjs +111 -0
- package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-authenticator/index.d.ts +2 -0
- package/dist/adapters/database/domains/user-authenticator/index.d.ts.map +1 -0
- package/dist/adapters/database/domains/user-authenticator/index.mjs +5 -0
- package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.mjs +38 -22
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
- package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/errors/driver.d.ts +14 -0
- package/dist/adapters/database/errors/driver.d.ts.map +1 -0
- package/dist/adapters/database/errors/driver.mjs +32 -0
- package/dist/adapters/database/errors/driver.mjs.map +1 -0
- package/dist/adapters/database/errors/index.d.ts +1 -0
- package/dist/adapters/database/errors/index.d.ts.map +1 -1
- package/dist/adapters/database/errors/index.mjs +2 -1
- package/dist/adapters/database/helpers/is-supported.mjs +1 -1
- package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
- package/dist/adapters/database/index.mjs +17 -17
- package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts +50 -0
- package/dist/adapters/database/migrations/mysql/1783769340000-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs +320 -0
- package/dist/adapters/database/migrations/mysql/1783769340000-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts +50 -0
- package/dist/adapters/database/migrations/postgres/1783769340000-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs +310 -0
- package/dist/adapters/database/migrations/postgres/1783769340000-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
- package/dist/adapters/database/subscriber/module.d.ts +1 -1
- package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
- package/dist/adapters/database/subscriber/module.mjs +4 -3
- package/dist/adapters/database/subscriber/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/index.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts +4 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +27 -2
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts +9 -1
- package/dist/adapters/http/adapters/oauth2/authorization/types.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +4 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +24 -4
- 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 +4 -3
- 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 +13 -6
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +38 -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 +119 -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 -0
- 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 +16 -3
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +14 -6
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts +5 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.d.ts.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs +18 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/certificate.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +1 -1
- 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 +1 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -1
- package/dist/adapters/http/adapters/oauth2/index.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/consent/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/consent/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/consent/module.d.ts +15 -0
- package/dist/adapters/http/controllers/entities/consent/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/{robot-role → consent}/module.mjs +16 -29
- package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/event/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/event/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/event/module.d.ts +14 -0
- package/dist/adapters/http/controllers/entities/event/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/event/module.mjs +68 -0
- package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts +4 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +55 -21
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +3 -1
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/index.d.ts +5 -3
- package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/index.mjs +11 -9
- package/dist/adapters/http/controllers/entities/key/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/key/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/key/module.d.ts +17 -0
- package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/key/module.mjs +116 -0
- package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +4 -4
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts +2 -0
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +16 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts +2 -0
- package/dist/adapters/http/controllers/entities/trust-anchor/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/trust-anchor/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts +17 -0
- package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/{robot-permission → trust-anchor}/module.mjs +30 -30
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts +2 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts +21 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +154 -0
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/index.mjs +7 -6
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts +2 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts +46 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +132 -0
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +38 -10
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +17 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +32 -18
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +31 -17
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts +2 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +30 -16
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/types.d.ts +11 -5
- package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +13 -9
- package/dist/adapters/http/middleware/built-in/assets.mjs +3 -3
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +14 -2
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +52 -16
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +2 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts +12 -1
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +75 -6
- 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 +0 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +2 -2
- package/dist/adapters/http/request/client-certificate.d.ts +6 -0
- package/dist/adapters/http/request/client-certificate.d.ts.map +1 -0
- package/dist/adapters/http/request/client-certificate.mjs +89 -0
- package/dist/adapters/http/request/client-certificate.mjs.map +1 -0
- package/dist/adapters/http/request/constants.d.ts +1 -0
- package/dist/adapters/http/request/constants.d.ts.map +1 -1
- package/dist/adapters/http/request/constants.mjs +6 -1
- package/dist/adapters/http/request/constants.mjs.map +1 -1
- package/dist/adapters/http/request/event-context.d.ts +19 -0
- package/dist/adapters/http/request/event-context.d.ts.map +1 -0
- package/dist/adapters/http/request/event-context.mjs +37 -0
- package/dist/adapters/http/request/event-context.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
- package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs +2 -2
- 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 +2 -1
- package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts +16 -0
- package/dist/adapters/http/request/helpers/mfa-login-ticket.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs +15 -0
- package/dist/adapters/http/request/helpers/mfa-login-ticket.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
- package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/index.d.ts +3 -0
- package/dist/adapters/http/request/index.d.ts.map +1 -1
- package/dist/adapters/http/request/index.mjs +5 -2
- package/dist/adapters/http/request/permission/module.d.ts +3 -2
- package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/request/permission/module.mjs +3 -0
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/http/request/types.d.ts +3 -0
- package/dist/adapters/http/request/types.d.ts.map +1 -0
- package/dist/adapters/http/ui/render.mjs +4 -4
- package/dist/adapters/http/ui/render.mjs.map +1 -1
- package/dist/adapters/http/ui/serve.d.ts.map +1 -1
- package/dist/adapters/http/ui/serve.mjs +4 -1
- package/dist/adapters/http/ui/serve.mjs.map +1 -1
- package/dist/app/index.mjs +11 -9
- package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
- package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs +8 -40
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/components/module.d.ts.map +1 -1
- package/dist/app/modules/components/module.mjs +22 -2
- package/dist/app/modules/components/module.mjs.map +1 -1
- package/dist/app/modules/config/constants.d.ts +14 -4
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +14 -4
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/normalize.d.ts.map +1 -1
- package/dist/app/modules/config/normalize.mjs +30 -6
- package/dist/app/modules/config/normalize.mjs.map +1 -1
- package/dist/app/modules/config/read/env.d.ts.map +1 -1
- package/dist/app/modules/config/read/env.mjs +57 -8
- package/dist/app/modules/config/read/env.mjs.map +1 -1
- package/dist/app/modules/config/types.d.ts +101 -19
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/config/validator.d.ts.map +1 -1
- package/dist/app/modules/config/validator.mjs +16 -4
- package/dist/app/modules/config/validator.mjs.map +1 -1
- package/dist/app/modules/database/constants.d.ts +3 -0
- package/dist/app/modules/database/constants.d.ts.map +1 -1
- package/dist/app/modules/database/constants.mjs +3 -1
- package/dist/app/modules/database/constants.mjs.map +1 -1
- package/dist/app/modules/database/index.mjs +7 -6
- package/dist/app/modules/database/module.d.ts +1 -0
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +34 -1
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
- package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/bindings.mjs +3 -3
- package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +10 -78
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/event/index.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/event/index.mjs +5 -0
- package/dist/app/modules/database/repositories/event/repository.d.ts +16 -0
- package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/event/repository.mjs +74 -0
- package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/helpers.d.ts +21 -5
- package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs +46 -7
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +6 -37
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/index.d.ts +4 -3
- package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/index.mjs +9 -7
- package/dist/app/modules/database/repositories/key/index.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/key/index.mjs +5 -0
- package/dist/app/modules/database/repositories/key/repository.d.ts +51 -0
- package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/key/repository.mjs +239 -0
- package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.mjs +7 -7
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/query.d.ts +18 -0
- package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/query.mjs +29 -0
- package/dist/app/modules/database/repositories/query.mjs.map +1 -0
- package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs +3 -19
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
- package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
- package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
- package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/trust-anchor/index.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/trust-anchor/index.mjs +5 -0
- package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +25 -0
- package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +89 -0
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs +4 -20
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-authenticator/index.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/user-authenticator/index.mjs +5 -0
- package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +20 -0
- package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +66 -0
- package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
- package/dist/app/modules/http/module.d.ts +8 -0
- package/dist/app/modules/http/module.d.ts.map +1 -1
- package/dist/app/modules/http/module.mjs +19 -1
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +16 -6
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +186 -67
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts +1 -0
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +10 -5
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/identity/index.mjs +1 -2
- package/dist/app/modules/identity/module.d.ts.map +1 -1
- package/dist/app/modules/identity/module.mjs +3 -14
- package/dist/app/modules/identity/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/client.mjs +2 -2
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/index.d.ts +0 -1
- package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/index.mjs +1 -2
- package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs +18 -18
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/index.d.ts +1 -0
- package/dist/app/modules/index.d.ts.map +1 -1
- package/dist/app/modules/index.mjs +13 -10
- package/dist/app/modules/mail/module.d.ts.map +1 -1
- package/dist/app/modules/mail/module.mjs +2 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/metrics/constants.d.ts +4 -0
- package/dist/app/modules/metrics/constants.d.ts.map +1 -0
- package/dist/app/modules/metrics/constants.mjs +10 -0
- package/dist/app/modules/metrics/constants.mjs.map +1 -0
- package/dist/app/modules/metrics/index.d.ts +3 -0
- package/dist/app/modules/metrics/index.d.ts.map +1 -0
- package/dist/app/modules/metrics/index.mjs +6 -0
- package/dist/app/modules/metrics/prom.d.ts +15 -0
- package/dist/app/modules/metrics/prom.d.ts.map +1 -0
- package/dist/app/modules/metrics/prom.mjs +42 -0
- package/dist/app/modules/metrics/prom.mjs.map +1 -0
- package/dist/app/modules/oauth2/constants.d.ts +9 -2
- package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/constants.mjs +7 -1
- package/dist/app/modules/oauth2/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +23 -4
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/index.d.ts +2 -0
- package/dist/app/modules/oauth2/repositories/consent/index.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/consent/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +21 -0
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs +92 -0
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/index.d.ts +1 -1
- package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.mjs +3 -3
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/token/repository.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/token/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/token/repository.mjs +8 -0
- package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +25 -29
- package/dist/app/modules/provisioning/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
- package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs +54 -74
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/file/module.mjs +16 -5
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
- package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/index.mjs +1 -0
- package/dist/components/database/unique-entries/module.mjs +6 -6
- package/dist/components/database/unique-entries/module.mjs.map +1 -1
- package/dist/components/event-cleaner/index.d.ts +2 -0
- package/dist/components/event-cleaner/index.d.ts.map +1 -0
- package/dist/components/event-cleaner/index.mjs +5 -0
- package/dist/components/event-cleaner/module.d.ts +5 -0
- package/dist/components/event-cleaner/module.d.ts.map +1 -0
- package/dist/components/event-cleaner/module.mjs +30 -0
- package/dist/components/event-cleaner/module.mjs.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.mjs +3 -1
- package/dist/components/oauth2-cleaner/module.d.ts +2 -1
- package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs +9 -4
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/client/module.d.ts +2 -2
- package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
- package/dist/core/authentication/credential/entities/client/module.mjs +4 -3
- package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/index.d.ts +0 -1
- package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
- package/dist/core/authentication/credential/entities/index.mjs +1 -3
- package/dist/core/authentication/credential/index.mjs +1 -2
- package/dist/core/authentication/entities/client/module.mjs +2 -2
- package/dist/core/authentication/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/entities/index.d.ts +0 -1
- package/dist/core/authentication/entities/index.d.ts.map +1 -1
- package/dist/core/authentication/entities/index.mjs +1 -3
- package/dist/core/authentication/index.d.ts +1 -0
- package/dist/core/authentication/index.d.ts.map +1 -1
- package/dist/core/authentication/index.mjs +3 -3
- package/dist/core/authentication/login-throttle/index.d.ts.map +1 -0
- package/dist/core/authentication/login-throttle/index.mjs +5 -0
- package/dist/core/authentication/login-throttle/service.d.ts +13 -0
- package/dist/core/authentication/login-throttle/service.d.ts.map +1 -0
- package/dist/core/authentication/login-throttle/service.mjs +33 -0
- package/dist/core/authentication/login-throttle/service.mjs.map +1 -0
- package/dist/core/authentication/login-throttle/types.d.ts +34 -0
- package/dist/core/authentication/login-throttle/types.d.ts.map +1 -0
- package/dist/core/authentication/session/module.d.ts +1 -0
- package/dist/core/authentication/session/module.d.ts.map +1 -1
- package/dist/core/authentication/session/module.mjs +17 -16
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.d.ts +12 -5
- package/dist/core/authentication/session/types.d.ts.map +1 -1
- package/dist/core/authentication/session/types.mjs +4 -5
- package/dist/core/authentication/session/types.mjs.map +1 -1
- package/dist/core/client-certificate/index.d.ts.map +1 -0
- package/dist/core/client-certificate/index.mjs +5 -0
- package/dist/core/client-certificate/module.d.ts +19 -0
- package/dist/core/client-certificate/module.d.ts.map +1 -0
- package/dist/core/client-certificate/module.mjs +196 -0
- package/dist/core/client-certificate/module.mjs.map +1 -0
- package/dist/core/client-certificate/reflect.d.ts +2 -0
- package/dist/core/client-certificate/reflect.d.ts.map +1 -0
- package/dist/core/client-certificate/reflect.mjs +5 -0
- package/dist/core/client-certificate/types.d.ts +22 -0
- package/dist/core/client-certificate/types.d.ts.map +1 -0
- package/dist/core/entities/client/index.d.ts +1 -0
- package/dist/core/entities/client/index.d.ts.map +1 -1
- package/dist/core/entities/client/index.mjs +2 -1
- package/dist/core/entities/client/schema.d.ts +3 -0
- package/dist/core/entities/client/schema.d.ts.map +1 -0
- package/dist/core/entities/client/schema.mjs +59 -0
- package/dist/core/entities/client/schema.mjs.map +1 -0
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +50 -19
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +2 -1
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client/web-client.d.ts +4 -4
- package/dist/core/entities/client/web-client.d.ts.map +1 -1
- package/dist/core/entities/client/web-client.mjs +14 -13
- package/dist/core/entities/client/web-client.mjs.map +1 -1
- package/dist/core/entities/client-permission/index.d.ts +1 -0
- package/dist/core/entities/client-permission/index.d.ts.map +1 -1
- package/dist/core/entities/client-permission/index.mjs +2 -1
- package/dist/core/entities/client-permission/schema.d.ts +3 -0
- package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/client-permission/schema.mjs +41 -0
- package/dist/core/entities/client-permission/schema.mjs.map +1 -0
- package/dist/core/entities/client-permission/service.d.ts +1 -1
- package/dist/core/entities/client-permission/service.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +24 -18
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/client-role/index.d.ts +1 -0
- package/dist/core/entities/client-role/index.d.ts.map +1 -1
- package/dist/core/entities/client-role/index.mjs +2 -1
- package/dist/core/entities/client-role/schema.d.ts +3 -0
- package/dist/core/entities/client-role/schema.d.ts.map +1 -0
- package/dist/core/entities/client-role/schema.mjs +39 -0
- package/dist/core/entities/client-role/schema.mjs.map +1 -0
- package/dist/core/entities/client-role/service.d.ts +1 -1
- package/dist/core/entities/client-role/service.d.ts.map +1 -1
- package/dist/core/entities/client-role/service.mjs +14 -8
- package/dist/core/entities/client-role/service.mjs.map +1 -1
- package/dist/core/entities/client-scope/index.d.ts +1 -0
- package/dist/core/entities/client-scope/index.d.ts.map +1 -1
- package/dist/core/entities/client-scope/index.mjs +2 -1
- package/dist/core/entities/client-scope/schema.d.ts +3 -0
- package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
- package/dist/core/entities/client-scope/schema.mjs +37 -0
- package/dist/core/entities/client-scope/schema.mjs.map +1 -0
- package/dist/core/entities/client-scope/service.d.ts +1 -1
- package/dist/core/entities/client-scope/service.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.mjs +12 -6
- package/dist/core/entities/client-scope/service.mjs.map +1 -1
- package/dist/core/entities/consent/index.d.ts +4 -0
- package/dist/core/entities/consent/index.d.ts.map +1 -0
- package/dist/core/entities/consent/index.mjs +7 -0
- package/dist/core/entities/consent/schema.d.ts +3 -0
- package/dist/core/entities/consent/schema.d.ts.map +1 -0
- package/dist/core/entities/consent/schema.mjs +40 -0
- package/dist/core/entities/consent/schema.mjs.map +1 -0
- package/dist/core/entities/consent/service.d.ts +19 -0
- package/dist/core/entities/consent/service.d.ts.map +1 -0
- package/dist/core/entities/consent/service.mjs +138 -0
- package/dist/core/entities/consent/service.mjs.map +1 -0
- package/dist/core/entities/consent/types.d.ts +98 -0
- package/dist/core/entities/consent/types.d.ts.map +1 -0
- package/dist/core/entities/consent/types.mjs +25 -0
- package/dist/core/entities/consent/types.mjs.map +1 -0
- package/dist/core/entities/event/constants.d.ts +7 -0
- package/dist/core/entities/event/constants.d.ts.map +1 -0
- package/dist/core/entities/event/constants.mjs +13 -0
- package/dist/core/entities/event/constants.mjs.map +1 -0
- package/dist/core/entities/event/diff.d.ts +20 -0
- package/dist/core/entities/event/diff.d.ts.map +1 -0
- package/dist/core/entities/event/diff.mjs +45 -0
- package/dist/core/entities/event/diff.mjs.map +1 -0
- package/dist/core/entities/event/entity-event-handler.d.ts +19 -0
- package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -0
- package/dist/core/entities/event/entity-event-handler.mjs +98 -0
- package/dist/core/entities/event/entity-event-handler.mjs.map +1 -0
- package/dist/core/entities/event/index.d.ts +8 -0
- package/dist/core/entities/event/index.d.ts.map +1 -0
- package/dist/core/entities/event/index.mjs +10 -0
- package/dist/core/entities/event/sanitize.d.ts +2 -0
- package/dist/core/entities/event/sanitize.d.ts.map +1 -0
- package/dist/core/entities/event/sanitize.mjs +83 -0
- package/dist/core/entities/event/sanitize.mjs.map +1 -0
- package/dist/core/entities/event/schema.d.ts +3 -0
- package/dist/core/entities/event/schema.d.ts.map +1 -0
- package/dist/core/entities/event/schema.mjs +51 -0
- package/dist/core/entities/event/schema.mjs.map +1 -0
- package/dist/core/entities/event/service.d.ts +22 -0
- package/dist/core/entities/event/service.d.ts.map +1 -0
- package/dist/core/entities/event/service.mjs +185 -0
- package/dist/core/entities/event/service.mjs.map +1 -0
- package/dist/core/entities/event/types.d.ts +125 -0
- package/dist/core/entities/event/types.d.ts.map +1 -0
- package/dist/core/entities/identity-provider/index.d.ts +1 -0
- package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
- package/dist/core/entities/identity-provider/index.mjs +2 -1
- package/dist/core/entities/identity-provider/schema.d.ts +3 -0
- package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
- package/dist/core/entities/identity-provider/schema.mjs +43 -0
- package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
- package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +18 -12
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
- package/dist/core/entities/index.d.ts +5 -3
- package/dist/core/entities/index.d.ts.map +1 -1
- package/dist/core/entities/index.mjs +45 -7
- package/dist/core/entities/key/index.d.ts +4 -0
- package/dist/core/entities/key/index.d.ts.map +1 -0
- package/dist/core/entities/key/index.mjs +6 -0
- package/dist/core/entities/key/schema.d.ts +3 -0
- package/dist/core/entities/key/schema.d.ts.map +1 -0
- package/dist/core/entities/key/schema.mjs +53 -0
- package/dist/core/entities/key/schema.mjs.map +1 -0
- package/dist/core/entities/key/service.d.ts +55 -0
- package/dist/core/entities/key/service.d.ts.map +1 -0
- package/dist/core/entities/key/service.mjs +320 -0
- package/dist/core/entities/key/service.mjs.map +1 -0
- package/dist/core/entities/key/types.d.ts +41 -0
- package/dist/core/entities/key/types.d.ts.map +1 -0
- package/dist/core/entities/permission/index.d.ts +1 -0
- package/dist/core/entities/permission/index.d.ts.map +1 -1
- package/dist/core/entities/permission/index.mjs +2 -1
- package/dist/core/entities/permission/schema.d.ts +3 -0
- package/dist/core/entities/permission/schema.d.ts.map +1 -0
- package/dist/core/entities/permission/schema.mjs +28 -0
- package/dist/core/entities/permission/schema.mjs.map +1 -0
- package/dist/core/entities/permission/service.d.ts +7 -2
- package/dist/core/entities/permission/service.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +54 -41
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/permission-policy/index.d.ts +1 -0
- package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/index.mjs +2 -1
- package/dist/core/entities/permission-policy/schema.d.ts +3 -0
- package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
- package/dist/core/entities/permission-policy/schema.mjs +39 -0
- package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
- package/dist/core/entities/permission-policy/service.d.ts +1 -1
- package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/service.mjs +12 -6
- package/dist/core/entities/permission-policy/service.mjs.map +1 -1
- package/dist/core/entities/policy/index.d.ts +1 -0
- package/dist/core/entities/policy/index.d.ts.map +1 -1
- package/dist/core/entities/policy/index.mjs +2 -1
- package/dist/core/entities/policy/schema.d.ts +3 -0
- package/dist/core/entities/policy/schema.d.ts.map +1 -0
- package/dist/core/entities/policy/schema.mjs +49 -0
- package/dist/core/entities/policy/schema.mjs.map +1 -0
- package/dist/core/entities/policy/service.d.ts.map +1 -1
- package/dist/core/entities/policy/service.mjs +15 -9
- package/dist/core/entities/policy/service.mjs.map +1 -1
- package/dist/core/entities/realm/index.d.ts +1 -0
- package/dist/core/entities/realm/index.d.ts.map +1 -1
- package/dist/core/entities/realm/index.mjs +2 -1
- package/dist/core/entities/realm/schema.d.ts +3 -0
- package/dist/core/entities/realm/schema.d.ts.map +1 -0
- package/dist/core/entities/realm/schema.mjs +36 -0
- package/dist/core/entities/realm/schema.mjs.map +1 -0
- package/dist/core/entities/realm/service.d.ts +3 -0
- package/dist/core/entities/realm/service.d.ts.map +1 -1
- package/dist/core/entities/realm/service.mjs +10 -4
- package/dist/core/entities/realm/service.mjs.map +1 -1
- package/dist/core/entities/realm/types.d.ts +1 -1
- package/dist/core/entities/role/index.d.ts +1 -0
- package/dist/core/entities/role/index.d.ts.map +1 -1
- package/dist/core/entities/role/index.mjs +2 -1
- package/dist/core/entities/role/schema.d.ts +3 -0
- package/dist/core/entities/role/schema.d.ts.map +1 -0
- package/dist/core/entities/role/schema.mjs +43 -0
- package/dist/core/entities/role/schema.mjs.map +1 -0
- package/dist/core/entities/role/service.d.ts.map +1 -1
- package/dist/core/entities/role/service.mjs +13 -7
- package/dist/core/entities/role/service.mjs.map +1 -1
- package/dist/core/entities/role-attribute/index.d.ts +1 -0
- package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/index.mjs +2 -1
- package/dist/core/entities/role-attribute/schema.d.ts +3 -0
- package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
- package/dist/core/entities/role-attribute/schema.mjs +47 -0
- package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
- package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs +22 -9
- package/dist/core/entities/role-attribute/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/index.d.ts +1 -0
- package/dist/core/entities/role-permission/index.d.ts.map +1 -1
- package/dist/core/entities/role-permission/index.mjs +2 -1
- package/dist/core/entities/role-permission/schema.d.ts +3 -0
- package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/role-permission/schema.mjs +41 -0
- package/dist/core/entities/role-permission/schema.mjs.map +1 -0
- package/dist/core/entities/role-permission/service.d.ts +1 -1
- package/dist/core/entities/role-permission/service.d.ts.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +24 -18
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/scope/index.d.ts +1 -0
- package/dist/core/entities/scope/index.d.ts.map +1 -1
- package/dist/core/entities/scope/index.mjs +2 -1
- package/dist/core/entities/scope/schema.d.ts +3 -0
- package/dist/core/entities/scope/schema.d.ts.map +1 -0
- package/dist/core/entities/scope/schema.mjs +43 -0
- package/dist/core/entities/scope/schema.mjs.map +1 -0
- package/dist/core/entities/scope/service.d.ts.map +1 -1
- package/dist/core/entities/scope/service.mjs +11 -5
- package/dist/core/entities/scope/service.mjs.map +1 -1
- package/dist/core/entities/session/index.d.ts +1 -0
- package/dist/core/entities/session/index.d.ts.map +1 -1
- package/dist/core/entities/session/index.mjs +2 -1
- package/dist/core/entities/session/schema.d.ts +3 -0
- package/dist/core/entities/session/schema.d.ts.map +1 -0
- package/dist/core/entities/session/schema.mjs +44 -0
- package/dist/core/entities/session/schema.mjs.map +1 -0
- package/dist/core/entities/session/service.d.ts +11 -0
- package/dist/core/entities/session/service.d.ts.map +1 -1
- package/dist/core/entities/session/service.mjs +53 -13
- package/dist/core/entities/session/service.mjs.map +1 -1
- package/dist/core/entities/session/types.d.ts +2 -2
- package/dist/core/entities/trust-anchor/index.d.ts +4 -0
- package/dist/core/entities/trust-anchor/index.d.ts.map +1 -0
- package/dist/core/entities/trust-anchor/index.mjs +6 -0
- package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
- package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
- package/dist/core/entities/trust-anchor/schema.mjs +43 -0
- package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
- package/dist/core/entities/trust-anchor/service.d.ts +33 -0
- package/dist/core/entities/trust-anchor/service.d.ts.map +1 -0
- package/dist/core/entities/trust-anchor/service.mjs +191 -0
- package/dist/core/entities/trust-anchor/service.mjs.map +1 -0
- package/dist/core/entities/trust-anchor/types.d.ts +22 -0
- package/dist/core/entities/trust-anchor/types.d.ts.map +1 -0
- package/dist/core/entities/user/index.d.ts +1 -0
- package/dist/core/entities/user/index.d.ts.map +1 -1
- package/dist/core/entities/user/index.mjs +2 -1
- package/dist/core/entities/user/schema.d.ts +3 -0
- package/dist/core/entities/user/schema.d.ts.map +1 -0
- package/dist/core/entities/user/schema.mjs +50 -0
- package/dist/core/entities/user/schema.mjs.map +1 -0
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +35 -14
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user/types.d.ts +2 -1
- package/dist/core/entities/user/types.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/index.d.ts +1 -0
- package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/index.mjs +2 -1
- package/dist/core/entities/user-attribute/schema.d.ts +3 -0
- package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
- package/dist/core/entities/user-attribute/schema.mjs +47 -0
- package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
- package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs +29 -13
- package/dist/core/entities/user-attribute/service.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/constants.d.ts +26 -0
- package/dist/core/entities/user-authenticator/constants.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/constants.mjs +32 -0
- package/dist/core/entities/user-authenticator/constants.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/helpers.d.ts +10 -0
- package/dist/core/entities/user-authenticator/helpers.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/helpers.mjs +35 -0
- package/dist/core/entities/user-authenticator/helpers.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/index.d.ts +7 -0
- package/dist/core/entities/user-authenticator/index.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/index.mjs +10 -0
- package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
- package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/schema.mjs +47 -0
- package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/service.d.ts +89 -0
- package/dist/core/entities/user-authenticator/service.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/service.mjs +731 -0
- package/dist/core/entities/user-authenticator/service.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/types.d.ts +222 -0
- package/dist/core/entities/user-authenticator/types.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/types.mjs +15 -0
- package/dist/core/entities/user-authenticator/types.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/webauthn.d.ts +28 -0
- package/dist/core/entities/user-authenticator/webauthn.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/webauthn.mjs +88 -0
- package/dist/core/entities/user-authenticator/webauthn.mjs.map +1 -0
- package/dist/core/entities/user-permission/index.d.ts +1 -0
- package/dist/core/entities/user-permission/index.d.ts.map +1 -1
- package/dist/core/entities/user-permission/index.mjs +2 -1
- package/dist/core/entities/user-permission/schema.d.ts +3 -0
- package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/user-permission/schema.mjs +41 -0
- package/dist/core/entities/user-permission/schema.mjs.map +1 -0
- package/dist/core/entities/user-permission/service.d.ts +1 -1
- package/dist/core/entities/user-permission/service.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +24 -18
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/entities/user-role/index.d.ts +1 -0
- package/dist/core/entities/user-role/index.d.ts.map +1 -1
- package/dist/core/entities/user-role/index.mjs +2 -1
- package/dist/core/entities/user-role/schema.d.ts +3 -0
- package/dist/core/entities/user-role/schema.d.ts.map +1 -0
- package/dist/core/entities/user-role/schema.mjs +39 -0
- package/dist/core/entities/user-role/schema.mjs.map +1 -0
- package/dist/core/entities/user-role/service.d.ts +1 -1
- package/dist/core/entities/user-role/service.d.ts.map +1 -1
- package/dist/core/entities/user-role/service.mjs +14 -8
- package/dist/core/entities/user-role/service.mjs.map +1 -1
- package/dist/core/identity/entities/index.d.ts +0 -1
- package/dist/core/identity/entities/index.d.ts.map +1 -1
- package/dist/core/identity/index.mjs +2 -1
- package/dist/core/identity/password-recovery/disabled.d.ts +2 -2
- package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/disabled.mjs +2 -2
- package/dist/core/identity/password-recovery/disabled.mjs.map +1 -1
- package/dist/core/identity/password-recovery/email-verification-required.d.ts +2 -2
- package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/email-verification-required.mjs +2 -2
- package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -1
- package/dist/core/identity/password-recovery/service.d.ts +2 -1
- package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/service.mjs +45 -23
- package/dist/core/identity/password-recovery/service.mjs.map +1 -1
- package/dist/core/identity/password-recovery/token-expired.d.ts +2 -2
- package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/token-expired.mjs +2 -2
- package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -1
- package/dist/core/identity/password-recovery/types.d.ts +4 -3
- package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
- package/dist/core/identity/permission/checker/service.mjs +2 -2
- package/dist/core/identity/permission/checker/service.mjs.map +1 -1
- package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
- package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
- package/dist/core/identity/permission/index.d.ts +1 -0
- package/dist/core/identity/permission/index.d.ts.map +1 -1
- package/dist/core/identity/permission/index.mjs +2 -1
- package/dist/core/identity/permission/junction-grant.d.ts +6 -6
- package/dist/core/identity/permission/junction-grant.mjs +14 -14
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
- package/dist/core/identity/permission/module.d.ts +0 -3
- package/dist/core/identity/permission/module.d.ts.map +1 -1
- package/dist/core/identity/permission/module.mjs +9 -15
- package/dist/core/identity/permission/module.mjs.map +1 -1
- package/dist/core/identity/permission/types.d.ts +0 -2
- package/dist/core/identity/permission/types.d.ts.map +1 -1
- package/dist/core/identity/policy/checker/service.mjs +2 -2
- package/dist/core/identity/policy/checker/service.mjs.map +1 -1
- package/dist/core/identity/provider/account/module.mjs +9 -9
- package/dist/core/identity/provider/account/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +7 -7
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
- package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/base.mjs +2 -2
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
- package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
- package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
- package/dist/core/identity/registration/error.d.ts +2 -2
- package/dist/core/identity/registration/error.d.ts.map +1 -1
- package/dist/core/identity/registration/error.mjs +2 -2
- package/dist/core/identity/registration/error.mjs.map +1 -1
- package/dist/core/identity/registration/service.d.ts +2 -1
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +33 -11
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/identity/registration/types.d.ts +2 -1
- package/dist/core/identity/registration/types.d.ts.map +1 -1
- package/dist/core/identity/resolver/module.d.ts +1 -3
- package/dist/core/identity/resolver/module.d.ts.map +1 -1
- package/dist/core/identity/resolver/module.mjs +0 -13
- package/dist/core/identity/resolver/module.mjs.map +1 -1
- package/dist/core/identity/resolver/types.d.ts +1 -2
- package/dist/core/identity/resolver/types.d.ts.map +1 -1
- package/dist/core/identity/role/module.d.ts +0 -2
- package/dist/core/identity/role/module.d.ts.map +1 -1
- package/dist/core/identity/role/module.mjs +1 -4
- package/dist/core/identity/role/module.mjs.map +1 -1
- package/dist/core/identity/role/types.d.ts +0 -2
- package/dist/core/identity/role/types.d.ts.map +1 -1
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.mjs +66 -16
- package/dist/core/key/certificate-error.d.ts +10 -0
- package/dist/core/key/certificate-error.d.ts.map +1 -0
- package/dist/core/key/certificate-error.mjs +19 -0
- package/dist/core/key/certificate-error.mjs.map +1 -0
- package/dist/core/key/certificate.d.ts +15 -0
- package/dist/core/key/certificate.d.ts.map +1 -0
- package/dist/core/key/certificate.mjs +72 -0
- package/dist/core/key/certificate.mjs.map +1 -0
- package/dist/core/key/check.d.ts +3 -0
- package/dist/core/key/check.d.ts.map +1 -0
- package/dist/core/key/check.mjs +13 -0
- package/dist/core/key/check.mjs.map +1 -0
- package/dist/core/key/constants.d.ts +10 -0
- package/dist/core/key/constants.d.ts.map +1 -0
- package/dist/core/key/constants.mjs +15 -0
- package/dist/core/key/constants.mjs.map +1 -0
- package/dist/core/key/error.d.ts +14 -0
- package/dist/core/key/error.d.ts.map +1 -0
- package/dist/core/key/error.mjs +23 -0
- package/dist/core/key/error.mjs.map +1 -0
- package/dist/core/key/index.d.ts +10 -0
- package/dist/core/key/index.d.ts.map +1 -0
- package/dist/core/key/index.mjs +12 -0
- package/dist/core/key/provisioner.d.ts +22 -0
- package/dist/core/key/provisioner.d.ts.map +1 -0
- package/dist/core/key/provisioner.mjs +30 -0
- package/dist/core/key/provisioner.mjs.map +1 -0
- package/dist/core/key/realm-cipher.d.ts +20 -0
- package/dist/core/key/realm-cipher.d.ts.map +1 -0
- package/dist/core/key/realm-cipher.mjs +60 -0
- package/dist/core/key/realm-cipher.mjs.map +1 -0
- package/dist/core/key/types.d.ts +59 -0
- package/dist/core/key/types.d.ts.map +1 -0
- package/dist/core/key/wrap.d.ts +5 -0
- package/dist/core/key/wrap.d.ts.map +1 -0
- package/dist/core/key/wrap.mjs +21 -0
- package/dist/core/key/wrap.mjs.map +1 -0
- package/dist/core/mail/template/registry.d.ts.map +1 -1
- package/dist/core/mail/template/registry.mjs +3 -1
- package/dist/core/mail/template/registry.mjs.map +1 -1
- package/dist/core/mail/template/templates/mfa-email-otp.d.ts +3 -0
- package/dist/core/mail/template/templates/mfa-email-otp.d.ts.map +1 -0
- package/dist/core/mail/template/templates/mfa-email-otp.mjs +34 -0
- package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -0
- package/dist/core/mail/template/types.d.ts +6 -1
- package/dist/core/mail/template/types.d.ts.map +1 -1
- package/dist/core/mail/template/types.mjs +1 -0
- package/dist/core/mail/template/types.mjs.map +1 -1
- package/dist/core/metrics/index.d.ts +3 -0
- package/dist/core/metrics/index.d.ts.map +1 -0
- package/dist/core/metrics/index.mjs +5 -0
- package/dist/core/metrics/noop.d.ts +8 -0
- package/dist/core/metrics/noop.d.ts.map +1 -0
- package/dist/core/metrics/noop.mjs +14 -0
- package/dist/core/metrics/noop.mjs.map +1 -0
- package/dist/core/metrics/types.d.ts +19 -0
- package/dist/core/metrics/types.d.ts.map +1 -0
- package/dist/core/oauth2/access-policy/index.d.ts +3 -0
- package/dist/core/oauth2/access-policy/index.d.ts.map +1 -0
- package/dist/core/oauth2/access-policy/index.mjs +5 -0
- package/dist/core/oauth2/access-policy/module.d.ts +12 -0
- package/dist/core/oauth2/access-policy/module.d.ts.map +1 -0
- package/dist/core/oauth2/access-policy/module.mjs +32 -0
- package/dist/core/oauth2/access-policy/module.mjs.map +1 -0
- package/dist/core/oauth2/access-policy/types.d.ts +19 -0
- package/dist/core/oauth2/access-policy/types.d.ts.map +1 -0
- package/dist/core/oauth2/authorization/code/issuer/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code/issuer/module.mjs +2 -0
- package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/issuer/types.d.ts +6 -1
- package/dist/core/oauth2/authorization/code/issuer/types.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/validator.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code-request/validator.mjs +1 -0
- package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +6 -6
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/helpers.d.ts +10 -1
- package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs +28 -2
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/index.mjs +2 -2
- package/dist/core/oauth2/authorization/module.d.ts +9 -0
- package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/module.mjs +82 -5
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/types.d.ts +36 -0
- package/dist/core/oauth2/authorization/types.d.ts.map +1 -1
- package/dist/core/oauth2/client/authenticator.d.ts +16 -7
- package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
- package/dist/core/oauth2/client/authenticator.mjs +49 -12
- package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
- package/dist/core/oauth2/client/grant-type.d.ts +1 -1
- package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
- package/dist/core/oauth2/client/grant-type.mjs +2 -2
- package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
- package/dist/core/oauth2/end-session/service.d.ts +2 -1
- package/dist/core/oauth2/end-session/service.d.ts.map +1 -1
- package/dist/core/oauth2/end-session/service.mjs +15 -2
- package/dist/core/oauth2/end-session/service.mjs.map +1 -1
- package/dist/core/oauth2/end-session/types.d.ts +2 -1
- package/dist/core/oauth2/end-session/types.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/authorize.d.ts +2 -2
- package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/authorize.mjs +20 -16
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/client-credentials.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/client-credentials.mjs +10 -8
- package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/identity.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/identity.mjs +16 -9
- package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/index.d.ts +0 -1
- package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/index.mjs +1 -2
- package/dist/core/oauth2/grant-types/password.d.ts +9 -0
- package/dist/core/oauth2/grant-types/password.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/password.mjs +39 -11
- package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.d.ts +4 -0
- package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.mjs +29 -13
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/types.d.ts +10 -3
- package/dist/core/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/core/oauth2/index.d.ts +2 -1
- package/dist/core/oauth2/index.d.ts.map +1 -1
- package/dist/core/oauth2/index.mjs +7 -3
- package/dist/core/oauth2/mfa-login/index.d.ts +3 -0
- package/dist/core/oauth2/mfa-login/index.d.ts.map +1 -0
- package/dist/core/oauth2/mfa-login/index.mjs +5 -0
- package/dist/core/oauth2/mfa-login/module.d.ts +19 -0
- package/dist/core/oauth2/mfa-login/module.d.ts.map +1 -0
- package/dist/core/oauth2/mfa-login/module.mjs +109 -0
- package/dist/core/oauth2/mfa-login/module.mjs.map +1 -0
- package/dist/core/oauth2/mfa-login/types.d.ts +64 -0
- package/dist/core/oauth2/mfa-login/types.d.ts.map +1 -0
- package/dist/core/oauth2/mfa-login/types.mjs +4 -0
- package/dist/core/oauth2/openid/claims.d.ts +1 -3
- package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
- package/dist/core/oauth2/openid/claims.mjs +6 -19
- package/dist/core/oauth2/openid/claims.mjs.map +1 -1
- package/dist/core/oauth2/scope/resolver.d.ts +1 -3
- package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
- package/dist/core/oauth2/scope/resolver.mjs +9 -31
- package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
- package/dist/core/oauth2/session-token/types.d.ts +8 -8
- package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
- package/dist/core/oauth2/token/index.mjs +2 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/index.d.ts +1 -0
- package/dist/core/oauth2/token/issuer/index.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/index.mjs +3 -1
- package/dist/core/oauth2/token/issuer/mfa/index.d.ts +2 -0
- package/dist/core/oauth2/token/issuer/mfa/index.d.ts.map +1 -0
- package/dist/core/oauth2/token/issuer/mfa/index.mjs +5 -0
- package/dist/core/oauth2/token/issuer/mfa/module.d.ts +18 -0
- package/dist/core/oauth2/token/issuer/mfa/module.d.ts.map +1 -0
- package/dist/core/oauth2/token/issuer/mfa/module.mjs +36 -0
- package/dist/core/oauth2/token/issuer/mfa/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
- package/dist/core/oauth2/token/repository/types.d.ts +10 -0
- package/dist/core/oauth2/token/repository/types.d.ts.map +1 -1
- package/dist/core/oauth2/token/revoker/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/revoker/module.mjs +1 -0
- package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
- package/dist/core/oauth2/token/signer/module.d.ts +3 -3
- package/dist/core/oauth2/token/signer/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/signer/module.mjs +11 -12
- package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/module.d.ts +3 -3
- package/dist/core/oauth2/token/verifier/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/verifier/module.mjs +16 -13
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
- package/dist/core/provisioning/entities/index.d.ts +0 -1
- package/dist/core/provisioning/entities/index.d.ts.map +1 -1
- package/dist/core/provisioning/entities/index.mjs +1 -3
- package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
- package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
- package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
- package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
- package/dist/core/provisioning/entities/role/types.d.ts +2 -2
- package/dist/core/provisioning/index.mjs +1 -3
- package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
- package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/index.mjs +1 -3
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
- package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
- package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
- package/dist/core/query/index.d.ts +4 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/index.mjs +6 -0
- package/dist/core/query/module.d.ts +60 -0
- package/dist/core/query/module.d.ts.map +1 -0
- package/dist/core/query/module.mjs +128 -0
- package/dist/core/query/module.mjs.map +1 -0
- package/dist/core/query/relations.d.ts +39 -0
- package/dist/core/query/relations.d.ts.map +1 -0
- package/dist/core/query/relations.mjs +103 -0
- package/dist/core/query/relations.mjs.map +1 -0
- package/dist/core/query/types.d.ts +39 -0
- package/dist/core/query/types.d.ts.map +1 -0
- package/dist/core/query/types.mjs +4 -0
- package/dist/core/security/policy/evaluator.d.ts +1 -0
- package/dist/core/security/policy/evaluator.d.ts.map +1 -1
- package/dist/core/security/policy/evaluator.mjs +52 -5
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +52 -46
- package/dist/swagger.json +4524 -3291
- package/dist/ui/client/.vite/ssr-manifest.json +4606 -934
- package/dist/ui/client/assets/{index-CP9HCHoS.js → index-BmJ2X468.js} +21 -17
- package/dist/ui/client/assets/index-DiOvW76Q.css +2 -0
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/server.js +64002 -56519
- package/package.json +35 -24
- package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
- package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/entity.mjs +0 -112
- package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot/index.d.ts +0 -3
- package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/index.mjs +0 -6
- package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
- package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
- package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
- package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
- package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
- package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
- package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
- package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
- package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
- package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
- package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
- package/dist/app/modules/identity/repositories/robot.mjs +0 -47
- package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
- package/dist/app/modules/oauth2/repositories/key/index.d.ts.map +0 -1
- package/dist/app/modules/oauth2/repositories/key/index.mjs +0 -5
- package/dist/app/modules/oauth2/repositories/key/repository.d.ts +0 -14
- package/dist/app/modules/oauth2/repositories/key/repository.d.ts.map +0 -1
- package/dist/app/modules/oauth2/repositories/key/repository.mjs +0 -51
- package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +0 -1
- package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
- package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
- package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
- package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
- package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
- package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
- package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
- package/dist/core/authentication/entities/robot/index.mjs +0 -5
- package/dist/core/authentication/entities/robot/module.d.ts +0 -11
- package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
- package/dist/core/authentication/entities/robot/module.mjs +0 -29
- package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
- package/dist/core/entities/robot/index.d.ts +0 -3
- package/dist/core/entities/robot/index.d.ts.map +0 -1
- package/dist/core/entities/robot/index.mjs +0 -5
- package/dist/core/entities/robot/service.d.ts +0 -28
- package/dist/core/entities/robot/service.d.ts.map +0 -1
- package/dist/core/entities/robot/service.mjs +0 -201
- package/dist/core/entities/robot/service.mjs.map +0 -1
- package/dist/core/entities/robot/types.d.ts +0 -24
- package/dist/core/entities/robot/types.d.ts.map +0 -1
- package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
- package/dist/core/entities/robot-permission/index.mjs +0 -5
- package/dist/core/entities/robot-permission/service.d.ts +0 -25
- package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
- package/dist/core/entities/robot-permission/service.mjs +0 -137
- package/dist/core/entities/robot-permission/service.mjs.map +0 -1
- package/dist/core/entities/robot-permission/types.d.ts +0 -12
- package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
- package/dist/core/entities/robot-role/index.d.ts +0 -3
- package/dist/core/entities/robot-role/index.d.ts.map +0 -1
- package/dist/core/entities/robot-role/index.mjs +0 -5
- package/dist/core/entities/robot-role/service.d.ts +0 -22
- package/dist/core/entities/robot-role/service.d.ts.map +0 -1
- package/dist/core/entities/robot-role/service.mjs +0 -90
- package/dist/core/entities/robot-role/service.mjs.map +0 -1
- package/dist/core/entities/robot-role/types.d.ts +0 -11
- package/dist/core/entities/robot-role/types.d.ts.map +0 -1
- package/dist/core/identity/entities/robot/index.d.ts +0 -2
- package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
- package/dist/core/identity/entities/robot/types.d.ts +0 -8
- package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
- package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
- package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
- package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -38
- package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
- package/dist/core/oauth2/key/index.d.ts +0 -2
- package/dist/core/oauth2/key/index.d.ts.map +0 -1
- package/dist/core/oauth2/key/types.d.ts +0 -16
- package/dist/core/oauth2/key/types.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
- package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/index.mjs +0 -5
- package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
- package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
- package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
- package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
- package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
- package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
- package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
- package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
- package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
- package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
- package/dist/ui/client/assets/index-VM4JXBXw.css +0 -2
- /package/dist/adapters/database/domains/{robot-permission → consent}/index.d.ts +0 -0
- /package/dist/adapters/http/controllers/entities/{robot → consent}/index.d.ts +0 -0
- /package/dist/{core/authentication/credential/entities/robot → adapters/http/controllers/entities/event}/index.d.ts +0 -0
- /package/dist/{core/authentication/entities/robot → adapters/http/controllers/entities/key}/index.d.ts +0 -0
- /package/dist/{core/entities/robot-permission → adapters/http/request}/types.mjs +0 -0
- /package/dist/app/modules/database/repositories/{robot-permission → event}/index.d.ts +0 -0
- /package/dist/app/modules/database/repositories/{robot-role → key}/index.d.ts +0 -0
- /package/dist/app/modules/database/repositories/{robot → trust-anchor}/index.d.ts +0 -0
- /package/dist/app/modules/{oauth2/repositories/key → database/repositories/user-authenticator}/index.d.ts +0 -0
- /package/dist/core/{entities/robot-permission → authentication/login-throttle}/index.d.ts +0 -0
- /package/dist/core/{entities/robot-role → authentication/login-throttle}/types.mjs +0 -0
- /package/dist/core/{provisioning/synchronizer/robot → client-certificate}/index.d.ts +0 -0
- /package/dist/core/{entities/robot → client-certificate}/types.mjs +0 -0
- /package/dist/core/{identity/entities/robot → entities/event}/types.mjs +0 -0
- /package/dist/core/{oauth2 → entities}/key/types.mjs +0 -0
- /package/dist/core/{provisioning/entities/robot → entities/trust-anchor}/types.mjs +0 -0
- /package/dist/core/{provisioning/synchronizer/robot → key}/types.mjs +0 -0
- /package/dist/core/{identity/entities/robot/index.mjs → metrics/types.mjs} +0 -0
- /package/dist/core/oauth2/{key/index.mjs → access-policy/types.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-token.mjs","names":["JWTError","OAuth2GrantError","buildOAuth2BearerTokenResponse","OAuth2BaseGrant","OAuth2RefreshTokenGrant","refreshTokenIssuer","tokenVerifier","tokenRepository","sessionTokenRepository","logger","gracePeriod","ctx","accessTokenIssuer","sessionManager","options","runWith","input","payload","verify","skipActiveCheck","jti","payloadPropertyInvalid","session_id","row","findOneById","kind","invalid","revoked_at","now","Date","nowISO","toISOString","consumed","markRefreshConsumed","withinGrace","isWithinGraceWindow","revokeFamily","setInactive","exp","session","userAgent","user_agent","ipAddress","ip_address","refresh","refreshToken","refreshTokenPayload","issue","remote_address","buildExp","parent_id","accessToken","accessTokenPayload","refresh_token_id","current","consumed_at","getTime","chainAdvanced","hasConsumedChild","sessionId","at","warn","rows","revokeBySessionId","Promise","allSettled","map","id","Math","floor","expires_at","revoke"],"sources":["../../../../src/core/oauth2/grant-types/refresh-token.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, OAuth2TokenPayload } from '@authup/specs';\nimport { JWTError, OAuth2GrantError } from '@authup/specs';\nimport type { Logger } from '@authup/server-kit';\nimport { buildOAuth2BearerTokenResponse } from '../response/index.ts';\nimport type { ISessionTokenRepository } from '../session-token/index.ts';\nimport type { IOAuth2TokenIssuer, IOAuth2TokenRepository, IOAuth2TokenVerifier } from '../token/index.ts';\nimport { OAuth2BaseGrant } from './base.ts';\nimport type { IOAuth2Grant, OAuth2GrantRunWIthOptions, OAuth2RefreshTokenGrantContext } from './types.ts';\n\nexport class OAuth2RefreshTokenGrant extends OAuth2BaseGrant<string | OAuth2TokenPayload> implements IOAuth2Grant {\n protected refreshTokenIssuer : IOAuth2TokenIssuer;\n\n protected tokenVerifier : IOAuth2TokenVerifier;\n\n protected tokenRepository : IOAuth2TokenRepository;\n\n protected sessionTokenRepository : ISessionTokenRepository;\n\n protected logger? : Logger;\n\n protected gracePeriod : number;\n\n constructor(ctx: OAuth2RefreshTokenGrantContext) {\n super({\n accessTokenIssuer: ctx.accessTokenIssuer,\n sessionManager: ctx.sessionManager,\n });\n\n this.refreshTokenIssuer = ctx.refreshTokenIssuer;\n this.tokenVerifier = ctx.tokenVerifier;\n this.tokenRepository = ctx.tokenRepository;\n this.sessionTokenRepository = ctx.sessionTokenRepository;\n this.logger = ctx.logger;\n this.gracePeriod = ctx.options?.gracePeriod ?? 0;\n }\n\n async runWith(\n input: string | OAuth2TokenPayload,\n options: OAuth2GrantRunWIthOptions = {},\n ) : Promise<OAuth2TokenGrantResponse> {\n let payload : OAuth2TokenPayload;\n if (typeof input === 'string') {\n // The auth_session_tokens row — not the cache blocklist — is the\n // authority for refresh-token validity, so skip the active check.\n payload = await this.tokenVerifier.verify(input, { skipActiveCheck: true });\n } else {\n payload = input;\n }\n\n if (!payload.jti) {\n throw JWTError.payloadPropertyInvalid('jti');\n }\n if (!payload.session_id) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n const row = await this.sessionTokenRepository.findOneById(payload.jti);\n if (!row || row.kind !== 'refresh') {\n // Row missing = expired-and-swept or a pre-rotation legacy token\n // (hard cutover). Either way the client must re-authenticate.\n throw OAuth2GrantError.invalid('refresh token is unknown');\n }\n if (row.revoked_at) {\n throw OAuth2GrantError.invalid('refresh token has been revoked');\n }\n if (row.session_id !== payload.session_id) {\n // The row is written with the token's own session_id and jti is\n // globally unique, so a mismatch means corruption / jti reuse — fail\n // closed rather than refresh or revoke against the wrong session.\n throw OAuth2GrantError.invalid('refresh token session mismatch');\n }\n\n const now = new Date();\n const nowISO = now.toISOString();\n\n const consumed = await this.sessionTokenRepository.markRefreshConsumed(payload.jti, nowISO);\n if (!consumed) {\n // Lost the atomic consume — either a replay of an already-rotated\n // token, or a benign concurrent-refresh race the grace window\n // absorbs.\n const withinGrace = await this.isWithinGraceWindow(payload.jti, now);\n if (!withinGrace) {\n await this.revokeFamily(row.session_id, payload.jti, nowISO);\n throw OAuth2GrantError.invalid('refresh token replay detected; session revoked');\n }\n }\n\n // Blocklist the presented refresh token in the cache so introspection\n // reports it inactive. Deliberately NOT a DB revoke — that would set\n // revoked_at and break the grace window.\n await this.tokenRepository.setInactive(payload.jti, payload.exp);\n\n const session = await this.sessionManager.findOneById(payload.session_id);\n if (!session) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n await this.sessionManager.verify(session);\n\n if (options.userAgent) {\n session.user_agent = options.userAgent;\n }\n if (options.ipAddress) {\n session.ip_address = options.ipAddress;\n }\n await this.sessionManager.refresh(session);\n\n const [refreshToken, refreshTokenPayload] = await this.refreshTokenIssuer.issue({\n ...payload,\n user_agent: session.user_agent,\n remote_address: session.ip_address,\n exp: this.refreshTokenIssuer.buildExp(),\n parent_id: payload.jti,\n });\n\n const [accessToken, accessTokenPayload] = await this.accessTokenIssuer.issue({\n ...payload,\n user_agent: session.user_agent,\n remote_address: session.ip_address,\n exp: this.accessTokenIssuer.buildExp(),\n refresh_token_id: refreshTokenPayload.jti,\n });\n\n return buildOAuth2BearerTokenResponse({\n accessToken,\n accessTokenPayload,\n refreshToken,\n refreshTokenPayload,\n });\n }\n\n /**\n * The grace window (opt-in via `tokenRefreshGracePeriod`) absorbs benign\n * concurrent / multi-tab refreshes of the SAME still-current token. It is\n * scoped to the chain tip: a token whose descendant has already been\n * consumed is a stale ancestor (a real replay), never a grace re-use.\n */\n protected async isWithinGraceWindow(jti: string, now: Date) : Promise<boolean> {\n if (this.gracePeriod <= 0) {\n return false;\n }\n\n const current = await this.sessionTokenRepository.findOneById(jti);\n if (\n !current ||\n current.revoked_at !== null ||\n current.consumed_at === null ||\n (now.getTime() - new Date(current.consumed_at).getTime()) > this.gracePeriod * 1_000\n ) {\n return false;\n }\n\n // Grace applies ONLY to the most-recent consumed token: a consumed\n // descendant proves the rotation advanced past this one (stale replay).\n const chainAdvanced = await this.sessionTokenRepository.hasConsumedChild(jti);\n return !chainAdvanced;\n }\n\n /**\n * RFC 6819 §5.2.2.3 reaction strategy — revoke the whole token family\n * (the auth_sessions row) on replay: soft-revoke every session-token row,\n * blocklist their jtis in the cache, and delete the session so its access\n * tokens stop verifying on authup's own API.\n */\n protected async revokeFamily(sessionId: string, jti: string, at: string) : Promise<void> {\n this.logger?.warn('OAuth2 refresh token replay detected; revoking session', {\n session_id: sessionId,\n jti,\n });\n\n // Blocklisting is best-effort (cache) — settle all of them so one cache\n // failure cannot skip the rest or, worse, abort the session delete\n // below (the load-bearing part of the revocation). Pin each TTL to the\n // token's real expiry (unix seconds) so a long-lived refresh token\n // cannot resurface as active via introspection after the fallback 1h.\n const rows = await this.sessionTokenRepository.revokeBySessionId(sessionId, at);\n await Promise.allSettled(rows.map((row) => this.tokenRepository.setInactive(\n row.id,\n Math.floor(new Date(row.expires_at).getTime() / 1_000),\n )));\n\n await this.sessionManager.revoke(sessionId);\n }\n}\n"],"mappings":";;;;;;;AAgBA,IAAaI,0BAAb,cAA6CD,gBAAAA;CAC/BE;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAAqC;EAC7C,MAAM;GACFC,mBAAmBD,IAAIC;GACvBC,gBAAgBF,IAAIE;EACxB,CAAA;EAEA,KAAKR,qBAAqBM,IAAIN;EAC9B,KAAKC,gBAAgBK,IAAIL;EACzB,KAAKC,kBAAkBI,IAAIJ;EAC3B,KAAKC,yBAAyBG,IAAIH;EAClC,KAAKC,SAASE,IAAIF;EAClB,KAAKC,cAAcC,IAAIG,SAASJ,eAAe;CACnD;CAEA,MAAMK,QACFC,OACAF,UAAqC,CAAC,GACJ;EAClC,IAAIG;EACJ,IAAI,OAAOD,UAAU,UAGjBC,UAAU,MAAM,KAAKX,cAAcY,OAAOF,OAAO,EAAEG,iBAAiB,KAAK,CAAA;OAEzEF,UAAUD;EAGd,IAAI,CAACC,QAAQG,KACT,MAAMpB,SAASqB,uBAAuB,KAAA;EAE1C,IAAI,CAACJ,QAAQK,YACT,MAAMtB,SAASqB,uBAAuB,YAAA;EAG1C,MAAME,MAAM,MAAM,KAAKf,uBAAuBgB,YAAYP,QAAQG,GAAG;EACrE,IAAI,CAACG,OAAOA,IAAIE,SAAS,WAGrB,MAAMxB,iBAAiByB,QAAQ,0BAAA;EAEnC,IAAIH,IAAII,YACJ,MAAM1B,iBAAiByB,QAAQ,gCAAA;EAEnC,IAAIH,IAAID,eAAeL,QAAQK,YAI3B,MAAMrB,iBAAiByB,QAAQ,gCAAA;EAGnC,MAAME,sBAAM,IAAIC,KAAAA;EAChB,MAAMC,SAASF,IAAIG,YAAW;EAG9B,IAAI,CAACC,MADkB,KAAKxB,uBAAuByB,oBAAoBhB,QAAQG,KAAKU,MAAAA;OAM5E,CAACI,MADqB,KAAKC,oBAAoBlB,QAAQG,KAAKQ,GAAAA,GAC9C;IACd,MAAM,KAAKQ,aAAab,IAAID,YAAYL,QAAQG,KAAKU,MAAAA;IACrD,MAAM7B,iBAAiByB,QAAQ,gDAAA;GACnC;;EAMJ,MAAM,KAAKnB,gBAAgB8B,YAAYpB,QAAQG,KAAKH,QAAQqB,GAAG;EAE/D,MAAMC,UAAU,MAAM,KAAK1B,eAAeW,YAAYP,QAAQK,UAAU;EACxE,IAAI,CAACiB,SACD,MAAMvC,SAASqB,uBAAuB,YAAA;EAG1C,MAAM,KAAKR,eAAeK,OAAOqB,OAAAA;EAEjC,IAAIzB,QAAQ0B,WACRD,QAAQE,aAAa3B,QAAQ0B;EAEjC,IAAI1B,QAAQ4B,WACRH,QAAQI,aAAa7B,QAAQ4B;EAEjC,MAAM,KAAK7B,eAAe+B,QAAQL,OAAAA;EAElC,MAAM,CAACM,cAAcC,uBAAuB,MAAM,KAAKzC,mBAAmB0C,MAAM;GAC5E,GAAG9B;GACHwB,YAAYF,QAAQE;GACpBO,gBAAgBT,QAAQI;GACxBL,KAAK,KAAKjC,mBAAmB4C,SAAQ;GACrCC,WAAWjC,QAAQG;EACvB,CAAA;EAEA,MAAM,CAAC+B,aAAaC,sBAAsB,MAAM,KAAKxC,kBAAkBmC,MAAM;GACzE,GAAG9B;GACHwB,YAAYF,QAAQE;GACpBO,gBAAgBT,QAAQI;GACxBL,KAAK,KAAK1B,kBAAkBqC,SAAQ;GACpCI,kBAAkBP,oBAAoB1B;EAC1C,CAAA;EAEA,OAAOlB,+BAA+B;GAClCiD;GACAC;GACAP;GACAC;EACJ,CAAA;CACJ;;;;;;IAQA,MAAgBX,oBAAoBf,KAAaQ,KAA8B;EAC3E,IAAI,KAAKlB,eAAe,GACpB,OAAO;EAGX,MAAM4C,UAAU,MAAM,KAAK9C,uBAAuBgB,YAAYJ,GAAAA;EAC9D,IACI,CAACkC,WACDA,QAAQ3B,eAAe,QACvB2B,QAAQC,gBAAgB,QACxB,IAAKC,QAAO,IAAK,IAAI3B,KAAKyB,QAAQC,WAAW,CAAA,CAAEC,QAAO,IAAM,KAAK9C,cAAc,KAE/E,OAAO;EAMX,OAAO,CAAC+C,MADoB,KAAKjD,uBAAuBkD,iBAAiBtC,GAAAA;CAE7E;;;;;;IAQA,MAAgBgB,aAAauB,WAAmBvC,KAAawC,IAA4B;EACrF,KAAKnD,QAAQoD,KAAK,0DAA0D;GACxEvC,YAAYqC;GACZvC;EACJ,CAAA;EAOA,MAAM0C,OAAO,MAAM,KAAKtD,uBAAuBuD,kBAAkBJ,WAAWC,EAAAA;EAC5E,MAAMI,QAAQC,WAAWH,KAAKI,KAAK3C,QAAQ,KAAKhB,gBAAgB8B,YAC5Dd,IAAI4C,IACJC,KAAKC,MAAM,IAAIxC,KAAKN,IAAI+C,UAAU,CAAA,CAAEd,QAAO,IAAK,GAAA,CAAA,CAAA,CAAA;EAGpD,MAAM,KAAK3C,eAAe0D,OAAOZ,SAAAA;CACrC;AACJ"}
|
|
1
|
+
{"version":3,"file":"refresh-token.mjs","names":["JWTError","OAuth2GrantError","OAuth2TokenKind","EventName","EventRefType","EventScope","buildOAuth2BearerTokenResponse","OAuth2BaseGrant","OAuth2RefreshTokenGrant","refreshTokenIssuer","tokenVerifier","tokenRepository","sessionTokenRepository","eventService","metrics","logger","gracePeriod","ctx","accessTokenIssuer","sessionManager","options","runWith","input","payload","verify","skipActiveCheck","jti","payloadPropertyInvalid","session_id","kind","REFRESH","invalid","row","findOneById","revokedAt","sessionId","now","Date","nowISO","toISOString","consumed","markRefreshConsumed","withinGrace","isWithinGraceWindow","revokeFamily","setInactive","exp","session","userAgent","ipAddress","refresh","refreshToken","refreshTokenPayload","issue","confirmation","cnf","user_agent","remote_address","buildExp","parent_id","accessToken","accessTokenPayload","refresh_token_id","current","consumedAt","getTime","chainAdvanced","hasConsumedChild","at","warn","record","scope","OAUTH2","name","REFRESH_REPLAY_DETECTED","refType","SESSION","refId","data","recordRefreshReplay","rows","revokeBySessionId","Promise","allSettled","map","id","Math","floor","expiresAt","revoke"],"sources":["../../../../src/core/oauth2/grant-types/refresh-token.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, OAuth2TokenPayload } from '@authup/specs';\nimport { JWTError, OAuth2GrantError, OAuth2TokenKind } from '@authup/specs';\nimport { EventName, EventRefType, EventScope } from '@authup/core-kit';\nimport type { Logger } from '@authup/server-kit';\nimport type { IEventService } from '../../entities/index.ts';\nimport type { IAuthFlowMetrics } from '../../metrics/index.ts';\nimport { buildOAuth2BearerTokenResponse } from '../response/index.ts';\nimport type { ISessionTokenRepository } from '../session-token/index.ts';\nimport type { IOAuth2TokenIssuer, IOAuth2TokenRepository, IOAuth2TokenVerifier } from '../token/index.ts';\nimport { OAuth2BaseGrant } from './base.ts';\nimport type { IOAuth2Grant, OAuth2GrantRunWIthOptions, OAuth2RefreshTokenGrantContext } from './types.ts';\n\nexport class OAuth2RefreshTokenGrant extends OAuth2BaseGrant<string | OAuth2TokenPayload> implements IOAuth2Grant {\n protected refreshTokenIssuer : IOAuth2TokenIssuer;\n\n protected tokenVerifier : IOAuth2TokenVerifier;\n\n protected tokenRepository : IOAuth2TokenRepository;\n\n protected sessionTokenRepository : ISessionTokenRepository;\n\n protected eventService? : IEventService;\n\n protected metrics? : IAuthFlowMetrics;\n\n protected logger? : Logger;\n\n protected gracePeriod : number;\n\n constructor(ctx: OAuth2RefreshTokenGrantContext) {\n super({\n accessTokenIssuer: ctx.accessTokenIssuer,\n sessionManager: ctx.sessionManager,\n });\n\n this.refreshTokenIssuer = ctx.refreshTokenIssuer;\n this.tokenVerifier = ctx.tokenVerifier;\n this.tokenRepository = ctx.tokenRepository;\n this.sessionTokenRepository = ctx.sessionTokenRepository;\n this.eventService = ctx.eventService;\n this.metrics = ctx.metrics;\n this.logger = ctx.logger;\n this.gracePeriod = ctx.options?.gracePeriod ?? 0;\n }\n\n async runWith(\n input: string | OAuth2TokenPayload,\n options: OAuth2GrantRunWIthOptions = {},\n ) : Promise<OAuth2TokenGrantResponse> {\n let payload : OAuth2TokenPayload;\n if (typeof input === 'string') {\n // The auth_session_tokens row — not the cache blocklist — is the\n // authority for refresh-token validity, so skip the active check.\n payload = await this.tokenVerifier.verify(input, { skipActiveCheck: true });\n } else {\n payload = input;\n }\n\n if (!payload.jti) {\n throw JWTError.payloadPropertyInvalid('jti');\n }\n if (!payload.session_id) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n // Explicit kind guard (defense in depth). Authup signs access tokens\n // and the MFA-pending login ticket with the same keys; only a refresh\n // token may be exchanged here. The ticket is also rejected implicitly\n // (it writes no auth_session_tokens row), but do not rely on that\n // second-order fact alone.\n if (payload.kind && payload.kind !== OAuth2TokenKind.REFRESH) {\n throw OAuth2GrantError.invalid('unexpected token kind');\n }\n\n const row = await this.sessionTokenRepository.findOneById(payload.jti);\n if (!row || row.kind !== 'refresh') {\n // Row missing = expired-and-swept or a pre-rotation legacy token\n // (hard cutover). Either way the client must re-authenticate.\n throw OAuth2GrantError.invalid('refresh token is unknown');\n }\n if (row.revokedAt) {\n throw OAuth2GrantError.invalid('refresh token has been revoked');\n }\n if (row.sessionId !== payload.session_id) {\n // The row is written with the token's own session_id and jti is\n // globally unique, so a mismatch means corruption / jti reuse — fail\n // closed rather than refresh or revoke against the wrong session.\n throw OAuth2GrantError.invalid('refresh token session mismatch');\n }\n\n const now = new Date();\n const nowISO = now.toISOString();\n\n const consumed = await this.sessionTokenRepository.markRefreshConsumed(payload.jti, nowISO);\n if (!consumed) {\n // Lost the atomic consume — either a replay of an already-rotated\n // token, or a benign concurrent-refresh race the grace window\n // absorbs.\n const withinGrace = await this.isWithinGraceWindow(payload.jti, now);\n if (!withinGrace) {\n await this.revokeFamily(row.sessionId, payload.jti, nowISO);\n throw OAuth2GrantError.invalid('refresh token replay detected; session revoked');\n }\n }\n\n // Blocklist the presented refresh token in the cache so introspection\n // reports it inactive. Deliberately NOT a DB revoke — that would set\n // revoked_at and break the grace window.\n await this.tokenRepository.setInactive(payload.jti, payload.exp);\n\n const session = await this.sessionManager.findOneById(payload.session_id);\n if (!session) {\n throw JWTError.payloadPropertyInvalid('session_id');\n }\n\n await this.sessionManager.verify(session);\n\n if (options.userAgent) {\n session.userAgent = options.userAgent;\n }\n if (options.ipAddress) {\n session.ipAddress = options.ipAddress;\n }\n await this.sessionManager.refresh(session);\n\n const [refreshToken, refreshTokenPayload] = await this.refreshTokenIssuer.issue({\n ...payload,\n ...(options.confirmation ? { cnf: options.confirmation } : {}),\n user_agent: session.userAgent,\n remote_address: session.ipAddress,\n exp: this.refreshTokenIssuer.buildExp(),\n parent_id: payload.jti,\n });\n\n const [accessToken, accessTokenPayload] = await this.accessTokenIssuer.issue({\n ...payload,\n ...(options.confirmation ? { cnf: options.confirmation } : {}),\n user_agent: session.userAgent,\n remote_address: session.ipAddress,\n exp: this.accessTokenIssuer.buildExp(),\n refresh_token_id: refreshTokenPayload.jti,\n });\n\n return buildOAuth2BearerTokenResponse({\n accessToken,\n accessTokenPayload,\n refreshToken,\n refreshTokenPayload,\n });\n }\n\n /**\n * The grace window (opt-in via `tokenRefreshGracePeriod`) absorbs benign\n * concurrent / multi-tab refreshes of the SAME still-current token. It is\n * scoped to the chain tip: a token whose descendant has already been\n * consumed is a stale ancestor (a real replay), never a grace re-use.\n */\n protected async isWithinGraceWindow(jti: string, now: Date) : Promise<boolean> {\n if (this.gracePeriod <= 0) {\n return false;\n }\n\n const current = await this.sessionTokenRepository.findOneById(jti);\n if (\n !current ||\n current.revokedAt !== null ||\n current.consumedAt === null ||\n (now.getTime() - new Date(current.consumedAt).getTime()) > this.gracePeriod * 1_000\n ) {\n return false;\n }\n\n // Grace applies ONLY to the most-recent consumed token: a consumed\n // descendant proves the rotation advanced past this one (stale replay).\n const chainAdvanced = await this.sessionTokenRepository.hasConsumedChild(jti);\n return !chainAdvanced;\n }\n\n /**\n * RFC 6819 §5.2.2.3 reaction strategy — revoke the whole token family\n * (the auth_sessions row) on replay: soft-revoke every session-token row,\n * blocklist their jtis in the cache, and delete the session so its access\n * tokens stop verifying on authup's own API.\n */\n protected async revokeFamily(sessionId: string, jti: string, at: string) : Promise<void> {\n this.logger?.warn('OAuth2 refresh token replay detected; revoking session', {\n sessionId,\n jti,\n });\n\n await this.eventService?.record({\n scope: EventScope.OAUTH2,\n name: EventName.REFRESH_REPLAY_DETECTED,\n refType: EventRefType.SESSION,\n refId: sessionId,\n data: { jti },\n });\n this.metrics?.recordRefreshReplay();\n\n // Blocklisting is best-effort (cache) — settle all of them so one cache\n // failure cannot skip the rest or, worse, abort the session delete\n // below (the load-bearing part of the revocation). Pin each TTL to the\n // token's real expiry (unix seconds) so a long-lived refresh token\n // cannot resurface as active via introspection after the fallback 1h.\n const rows = await this.sessionTokenRepository.revokeBySessionId(sessionId, at);\n await Promise.allSettled(rows.map((row) => this.tokenRepository.setInactive(\n row.id,\n Math.floor(new Date(row.expiresAt).getTime() / 1_000),\n )));\n\n await this.sessionManager.revoke(sessionId);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { ObjectLiteral } from '@authup/kit';
|
|
2
|
-
import type { OAuth2TokenGrantResponse } from '@authup/specs';
|
|
2
|
+
import type { OAuth2TokenConfirmation, OAuth2TokenGrantResponse } from '@authup/specs';
|
|
3
3
|
import type { Logger } from '@authup/server-kit';
|
|
4
4
|
import type { ISessionManager } from '../../authentication/index.ts';
|
|
5
|
-
import type {
|
|
5
|
+
import type { IEventService } from '../../entities/index.ts';
|
|
6
|
+
import type { IAuthFlowMetrics } from '../../metrics/index.ts';
|
|
7
|
+
import type { IKeyStore } from '../../key/index.ts';
|
|
6
8
|
import type { ISessionTokenRepository } from '../session-token/index.ts';
|
|
7
9
|
import type { IOAuth2OpenIDTokenIssuer, IOAuth2TokenIssuer, IOAuth2TokenRepository, IOAuth2TokenVerifier } from '../token/index.ts';
|
|
8
10
|
export type BaseGrantContext = {
|
|
@@ -16,13 +18,15 @@ export type OAuth2AuthorizeGrantContext = BaseGrantContext & {
|
|
|
16
18
|
* The realm's signing key determines the id_token's JWS alg — and with it
|
|
17
19
|
* the at_hash digest (OIDC Core §3.1.3.6).
|
|
18
20
|
*/
|
|
19
|
-
|
|
21
|
+
keyStore: IKeyStore;
|
|
20
22
|
};
|
|
21
23
|
export type OAuth2IdentityGrantContext = BaseGrantContext & {
|
|
22
24
|
refreshTokenIssuer: IOAuth2TokenIssuer;
|
|
23
25
|
};
|
|
24
26
|
export type OAuth2PasswordGrantContext = BaseGrantContext & {
|
|
25
27
|
refreshTokenIssuer: IOAuth2TokenIssuer;
|
|
28
|
+
eventService?: IEventService;
|
|
29
|
+
metrics?: IAuthFlowMetrics;
|
|
26
30
|
};
|
|
27
31
|
export type OAuth2RefreshTokenGrantOptions = {
|
|
28
32
|
/**
|
|
@@ -37,12 +41,15 @@ export type OAuth2RefreshTokenGrantContext = BaseGrantContext & {
|
|
|
37
41
|
tokenVerifier: IOAuth2TokenVerifier;
|
|
38
42
|
tokenRepository: IOAuth2TokenRepository;
|
|
39
43
|
sessionTokenRepository: ISessionTokenRepository;
|
|
44
|
+
eventService?: IEventService;
|
|
45
|
+
metrics?: IAuthFlowMetrics;
|
|
40
46
|
logger?: Logger;
|
|
41
47
|
options?: OAuth2RefreshTokenGrantOptions;
|
|
42
48
|
};
|
|
43
49
|
export type OAuth2GrantRunWIthOptions = {
|
|
44
50
|
userAgent?: string;
|
|
45
51
|
ipAddress?: string;
|
|
52
|
+
confirmation?: OAuth2TokenConfirmation;
|
|
46
53
|
};
|
|
47
54
|
export interface IOAuth2Grant<T = ObjectLiteral> {
|
|
48
55
|
runWith(data: T, base?: OAuth2GrantRunWIthOptions): Promise<OAuth2TokenGrantResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/grant-types/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/grant-types/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,gBAAgB,GAAG;IAC3B,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,cAAc,EAAE,eAAe,CAAA;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IACzD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IACxD,kBAAkB,EAAE,kBAAkB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GAAG;IACxD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IACzC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG;IAC5D,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,EAAE,oBAAoB,CAAC;IACpC,eAAe,EAAE,sBAAsB,CAAC;IACxC,sBAAsB,EAAE,uBAAuB,CAAC;IAChD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,8BAA8B,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,aAAa;IAC3C,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;CAC1F"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
export * from './access-policy/index.ts';
|
|
1
2
|
export * from './authorization/index.ts';
|
|
2
3
|
export * from './client/index.ts';
|
|
3
4
|
export * from './end-session/index.ts';
|
|
4
5
|
export * from './grant-types/index.ts';
|
|
5
|
-
export * from './
|
|
6
|
+
export * from './mfa-login/index.ts';
|
|
6
7
|
export * from './openid/index.ts';
|
|
7
8
|
export * from './response/index.ts';
|
|
8
9
|
export * from './scope/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/oauth2/index.ts"],"names":[],"mappings":"AAOA,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/oauth2/index.ts"],"names":[],"mappings":"AAOA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { OAuth2AccessPolicyEvaluator } from "./access-policy/module.mjs";
|
|
5
|
+
import "./access-policy/index.mjs";
|
|
4
6
|
import { OAuth2AuthorizationCodeIssuer } from "./authorization/code/issuer/module.mjs";
|
|
5
|
-
import { base64URLEncode, buildOAuth2CodeChallenge, buildOAuth2TokenHash, generateOAuth2CodeVerifier } from "./authorization/helpers.mjs";
|
|
7
|
+
import { base64URLEncode, buildOAuth2CodeChallenge, buildOAuth2TokenHash, deriveAmrAcr, generateOAuth2CodeVerifier } from "./authorization/helpers.mjs";
|
|
6
8
|
import { OAuth2AuthorizationCodeVerifier } from "./authorization/code/verifier/module.mjs";
|
|
7
9
|
import { OAuth2ClientAuthenticator } from "./client/authenticator.mjs";
|
|
8
10
|
import { assertClientGrantAllowed } from "./client/grant-type.mjs";
|
|
@@ -21,17 +23,19 @@ import { ClientCredentialsGrant } from "./grant-types/client-credentials.mjs";
|
|
|
21
23
|
import { IdentityGrantType } from "./grant-types/identity.mjs";
|
|
22
24
|
import { PasswordGrantType } from "./grant-types/password.mjs";
|
|
23
25
|
import { OAuth2RefreshTokenGrant } from "./grant-types/refresh-token.mjs";
|
|
24
|
-
import { RobotCredentialsGrant } from "./grant-types/robot-credentials.mjs";
|
|
25
26
|
import "./grant-types/index.mjs";
|
|
27
|
+
import { OAuth2MfaLoginService } from "./mfa-login/module.mjs";
|
|
28
|
+
import "./mfa-login/index.mjs";
|
|
26
29
|
import { OAuth2OpenIDClaimsBuilder } from "./openid/claims.mjs";
|
|
27
30
|
import "./openid/index.mjs";
|
|
28
31
|
import { OAuth2ScopeAttributesResolver } from "./scope/resolver.mjs";
|
|
29
32
|
import "./scope/index.mjs";
|
|
30
33
|
import { OAuth2AccessTokenIssuer } from "./token/issuer/access/module.mjs";
|
|
34
|
+
import { OAuth2MfaTokenIssuer } from "./token/issuer/mfa/module.mjs";
|
|
31
35
|
import { OAuth2OpenIDTokenIssuer } from "./token/issuer/open-id/module.mjs";
|
|
32
36
|
import { OAuth2RefreshTokenIssuer } from "./token/issuer/refresh/module.mjs";
|
|
33
37
|
import { OAuth2TokenRevoker } from "./token/revoker/module.mjs";
|
|
34
38
|
import { OAuth2TokenSigner } from "./token/signer/module.mjs";
|
|
35
39
|
import { OAuth2TokenVerifier } from "./token/verifier/module.mjs";
|
|
36
40
|
import "./token/index.mjs";
|
|
37
|
-
export { ClientCredentialsGrant, IdentityGrantType, OAuth2AccessTokenIssuer, OAuth2Authorization, OAuth2AuthorizationCodeIssuer, OAuth2AuthorizationCodeRequestValidator, OAuth2AuthorizationCodeRequestVerifier, OAuth2AuthorizationCodeVerifier, OAuth2AuthorizationStateManager, OAuth2AuthorizeGrant, OAuth2ClientAuthenticator, OAuth2EndSessionRequestValidator, OAuth2EndSessionService, OAuth2OpenIDClaimsBuilder, OAuth2OpenIDTokenIssuer, OAuth2RefreshTokenGrant, OAuth2RefreshTokenIssuer, OAuth2ScopeAttributesResolver, OAuth2TokenRevoker, OAuth2TokenSigner, OAuth2TokenVerifier, PasswordGrantType,
|
|
41
|
+
export { ClientCredentialsGrant, IdentityGrantType, OAuth2AccessPolicyEvaluator, OAuth2AccessTokenIssuer, OAuth2Authorization, OAuth2AuthorizationCodeIssuer, OAuth2AuthorizationCodeRequestValidator, OAuth2AuthorizationCodeRequestVerifier, OAuth2AuthorizationCodeVerifier, OAuth2AuthorizationStateManager, OAuth2AuthorizeGrant, OAuth2ClientAuthenticator, OAuth2EndSessionRequestValidator, OAuth2EndSessionService, OAuth2MfaLoginService, OAuth2MfaTokenIssuer, OAuth2OpenIDClaimsBuilder, OAuth2OpenIDTokenIssuer, OAuth2RefreshTokenGrant, OAuth2RefreshTokenIssuer, OAuth2ScopeAttributesResolver, OAuth2TokenRevoker, OAuth2TokenSigner, OAuth2TokenVerifier, PasswordGrantType, assertClientGrantAllowed, base64URLEncode, buildOAuth2BearerTokenResponse, buildOAuth2CodeChallenge, buildOAuth2TokenHash, deriveAmrAcr, generateOAuth2CodeVerifier };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/mfa-login/index.ts"],"names":[],"mappings":"AAOA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OAuth2TokenGrantResponse } from '@authup/specs';
|
|
2
|
+
import type { IEventService } from '../../entities/index.ts';
|
|
3
|
+
import type { IAuthFlowMetrics } from '../../metrics/index.ts';
|
|
4
|
+
import type { ISessionManager } from '../../authentication/index.ts';
|
|
5
|
+
import type { IOAuth2TokenIssuer, IOAuth2TokenRepository } from '../token/index.ts';
|
|
6
|
+
import type { IOAuth2MfaLoginService, OAuth2MfaLoginCompleteInput, OAuth2MfaLoginServiceContext, OAuth2MfaLoginTicket, OAuth2MfaLoginTicketIssueInput, OAuth2MfaLoginTicketIssueOptions } from './types.ts';
|
|
7
|
+
export declare class OAuth2MfaLoginService implements IOAuth2MfaLoginService {
|
|
8
|
+
protected sessionManager: ISessionManager;
|
|
9
|
+
protected ticketIssuer: IOAuth2TokenIssuer;
|
|
10
|
+
protected accessTokenIssuer: IOAuth2TokenIssuer;
|
|
11
|
+
protected refreshTokenIssuer: IOAuth2TokenIssuer;
|
|
12
|
+
protected tokenRepository: IOAuth2TokenRepository;
|
|
13
|
+
protected eventService?: IEventService;
|
|
14
|
+
protected metrics?: IAuthFlowMetrics;
|
|
15
|
+
constructor(ctx: OAuth2MfaLoginServiceContext);
|
|
16
|
+
issueTicket(input: OAuth2MfaLoginTicketIssueInput, options?: OAuth2MfaLoginTicketIssueOptions): Promise<OAuth2MfaLoginTicket>;
|
|
17
|
+
complete(input: OAuth2MfaLoginCompleteInput): Promise<OAuth2TokenGrantResponse>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/mfa-login/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAsB,MAAM,eAAe,CAAC;AAUlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,KAAK,EACR,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,gCAAgC,EACnC,MAAM,YAAY,CAAC;AAEpB,qBAAa,qBAAsB,YAAW,sBAAsB;IAChE,SAAS,CAAC,cAAc,EAAG,eAAe,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAG,kBAAkB,CAAC;IAE5C,SAAS,CAAC,iBAAiB,EAAG,kBAAkB,CAAC;IAEjD,SAAS,CAAC,kBAAkB,EAAG,kBAAkB,CAAC;IAElD,SAAS,CAAC,eAAe,EAAG,sBAAsB,CAAC;IAEnD,SAAS,CAAC,YAAY,CAAC,EAAG,aAAa,CAAC;IAExC,SAAS,CAAC,OAAO,CAAC,EAAG,gBAAgB,CAAC;gBAE1B,GAAG,EAAE,4BAA4B;IAUvC,WAAW,CACb,KAAK,EAAE,8BAA8B,EACrC,OAAO,GAAE,gCAAqC,GAC9C,OAAO,CAAC,oBAAoB,CAAC;IA8C3B,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAI,OAAO,CAAC,wBAAwB,CAAC;CAmEzF"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
import { deriveAmrAcr } from "../authorization/helpers.mjs";
|
|
5
|
+
import { buildOAuth2BearerTokenResponse } from "../response/bearer.mjs";
|
|
6
|
+
import { EventName, EventRefType, EventScope, IdentityType, ScopeName, SessionAuthMethod } from "@authup/core-kit";
|
|
7
|
+
import { OAuth2GrantError, OAuth2SubKind, OAuth2TokenGrant } from "@authup/specs";
|
|
8
|
+
//#region src/core/oauth2/mfa-login/module.ts
|
|
9
|
+
var OAuth2MfaLoginService = class {
|
|
10
|
+
sessionManager;
|
|
11
|
+
ticketIssuer;
|
|
12
|
+
accessTokenIssuer;
|
|
13
|
+
refreshTokenIssuer;
|
|
14
|
+
tokenRepository;
|
|
15
|
+
eventService;
|
|
16
|
+
metrics;
|
|
17
|
+
constructor(ctx) {
|
|
18
|
+
this.sessionManager = ctx.sessionManager;
|
|
19
|
+
this.ticketIssuer = ctx.ticketIssuer;
|
|
20
|
+
this.accessTokenIssuer = ctx.accessTokenIssuer;
|
|
21
|
+
this.refreshTokenIssuer = ctx.refreshTokenIssuer;
|
|
22
|
+
this.tokenRepository = ctx.tokenRepository;
|
|
23
|
+
this.eventService = ctx.eventService;
|
|
24
|
+
this.metrics = ctx.metrics;
|
|
25
|
+
}
|
|
26
|
+
async issueTicket(input, options = {}) {
|
|
27
|
+
const { user } = input;
|
|
28
|
+
const clientId = input.clientId ?? void 0;
|
|
29
|
+
const expiresAt = this.ticketIssuer.buildExp();
|
|
30
|
+
const session = await this.sessionManager.create({
|
|
31
|
+
userAgent: options.userAgent,
|
|
32
|
+
ipAddress: options.ipAddress,
|
|
33
|
+
realmId: user.realmId,
|
|
34
|
+
clientId,
|
|
35
|
+
sub: user.id,
|
|
36
|
+
subKind: IdentityType.USER,
|
|
37
|
+
mfaAt: null,
|
|
38
|
+
authMethod: SessionAuthMethod.PASSWORD,
|
|
39
|
+
expiresAt: (/* @__PURE__ */ new Date(expiresAt * 1e3)).toISOString()
|
|
40
|
+
});
|
|
41
|
+
const [token, payload] = await this.ticketIssuer.issue({
|
|
42
|
+
client_id: clientId,
|
|
43
|
+
session_id: session.id,
|
|
44
|
+
user_agent: session.userAgent,
|
|
45
|
+
remote_address: session.ipAddress,
|
|
46
|
+
sub: user.id,
|
|
47
|
+
sub_kind: OAuth2SubKind.USER,
|
|
48
|
+
realm_id: user.realmId,
|
|
49
|
+
realm_name: user.realm?.name,
|
|
50
|
+
...input.confirmation ? { cnf: input.confirmation } : {},
|
|
51
|
+
exp: expiresAt
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
token,
|
|
55
|
+
expiresIn: payload.exp ? payload.exp - Math.floor(Date.now() / 1e3) : 0
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
async complete(input) {
|
|
59
|
+
const { ticket } = input;
|
|
60
|
+
const session = await this.sessionManager.refresh(input.session);
|
|
61
|
+
const amrAcr = deriveAmrAcr(session);
|
|
62
|
+
if (ticket.jti) {
|
|
63
|
+
if (!await this.tokenRepository.claimInactive(ticket.jti, ticket.exp)) throw OAuth2GrantError.invalid("mfa login ticket has already been used");
|
|
64
|
+
}
|
|
65
|
+
const issuePayload = {
|
|
66
|
+
client_id: session.clientId ?? void 0,
|
|
67
|
+
session_id: session.id,
|
|
68
|
+
user_agent: session.userAgent,
|
|
69
|
+
remote_address: session.ipAddress,
|
|
70
|
+
scope: ScopeName.GLOBAL,
|
|
71
|
+
sub: session.sub,
|
|
72
|
+
sub_kind: OAuth2SubKind.USER,
|
|
73
|
+
realm_id: session.realmId,
|
|
74
|
+
realm_name: ticket.realm_name,
|
|
75
|
+
...ticket.cnf ? { cnf: ticket.cnf } : {},
|
|
76
|
+
...amrAcr
|
|
77
|
+
};
|
|
78
|
+
const [accessToken, accessTokenPayload] = await this.accessTokenIssuer.issue(issuePayload);
|
|
79
|
+
const [refreshToken, refreshTokenPayload] = await this.refreshTokenIssuer.issue(issuePayload);
|
|
80
|
+
await this.eventService?.record({
|
|
81
|
+
scope: EventScope.OAUTH2,
|
|
82
|
+
name: EventName.LOGIN,
|
|
83
|
+
refType: EventRefType.SESSION,
|
|
84
|
+
refId: session.id,
|
|
85
|
+
clientId: session.clientId ?? null,
|
|
86
|
+
actorType: IdentityType.USER,
|
|
87
|
+
actorId: session.sub,
|
|
88
|
+
actorName: input.userName ?? null,
|
|
89
|
+
realmId: session.realmId,
|
|
90
|
+
requestIpAddress: session.ipAddress ?? null,
|
|
91
|
+
requestUserAgent: session.userAgent ?? null,
|
|
92
|
+
data: {
|
|
93
|
+
grantType: OAuth2TokenGrant.PASSWORD,
|
|
94
|
+
sessionId: session.id
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
this.metrics?.recordLogin("success");
|
|
98
|
+
return buildOAuth2BearerTokenResponse({
|
|
99
|
+
accessToken,
|
|
100
|
+
accessTokenPayload,
|
|
101
|
+
refreshToken,
|
|
102
|
+
refreshTokenPayload
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { OAuth2MfaLoginService };
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["OAuth2GrantError","OAuth2SubKind","OAuth2TokenGrant","EventName","EventRefType","EventScope","IdentityType","ScopeName","SessionAuthMethod","deriveAmrAcr","buildOAuth2BearerTokenResponse","OAuth2MfaLoginService","sessionManager","ticketIssuer","accessTokenIssuer","refreshTokenIssuer","tokenRepository","eventService","metrics","ctx","issueTicket","input","options","user","clientId","undefined","expiresAt","buildExp","session","create","userAgent","ipAddress","realmId","sub","id","subKind","USER","mfaAt","authMethod","PASSWORD","Date","toISOString","token","payload","issue","client_id","session_id","user_agent","remote_address","sub_kind","realm_id","realm_name","realm","name","confirmation","cnf","exp","expiresIn","Math","floor","now","complete","ticket","refresh","amrAcr","jti","claimed","claimInactive","invalid","issuePayload","scope","GLOBAL","accessToken","accessTokenPayload","refreshToken","refreshTokenPayload","record","OAUTH2","LOGIN","refType","SESSION","refId","actorType","actorId","actorName","userName","requestIpAddress","requestUserAgent","data","grantType","sessionId","recordLogin"],"sources":["../../../../src/core/oauth2/mfa-login/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse, OAuth2TokenPayload } from '@authup/specs';\nimport { OAuth2GrantError, OAuth2SubKind, OAuth2TokenGrant } from '@authup/specs';\nimport {\n EventName,\n EventRefType,\n EventScope,\n IdentityType,\n ScopeName,\n SessionAuthMethod,\n} from '@authup/core-kit';\nimport type { IEventService } from '../../entities/index.ts';\nimport type { IAuthFlowMetrics } from '../../metrics/index.ts';\nimport type { ISessionManager } from '../../authentication/index.ts';\nimport { deriveAmrAcr } from '../authorization/helpers.ts';\nimport { buildOAuth2BearerTokenResponse } from '../response/index.ts';\nimport type { IOAuth2TokenIssuer, IOAuth2TokenRepository } from '../token/index.ts';\nimport type {\n IOAuth2MfaLoginService,\n OAuth2MfaLoginCompleteInput,\n OAuth2MfaLoginServiceContext,\n OAuth2MfaLoginTicket,\n OAuth2MfaLoginTicketIssueInput,\n OAuth2MfaLoginTicketIssueOptions,\n} from './types.ts';\n\nexport class OAuth2MfaLoginService implements IOAuth2MfaLoginService {\n protected sessionManager : ISessionManager;\n\n protected ticketIssuer : IOAuth2TokenIssuer;\n\n protected accessTokenIssuer : IOAuth2TokenIssuer;\n\n protected refreshTokenIssuer : IOAuth2TokenIssuer;\n\n protected tokenRepository : IOAuth2TokenRepository;\n\n protected eventService? : IEventService;\n\n protected metrics? : IAuthFlowMetrics;\n\n constructor(ctx: OAuth2MfaLoginServiceContext) {\n this.sessionManager = ctx.sessionManager;\n this.ticketIssuer = ctx.ticketIssuer;\n this.accessTokenIssuer = ctx.accessTokenIssuer;\n this.refreshTokenIssuer = ctx.refreshTokenIssuer;\n this.tokenRepository = ctx.tokenRepository;\n this.eventService = ctx.eventService;\n this.metrics = ctx.metrics;\n }\n\n async issueTicket(\n input: OAuth2MfaLoginTicketIssueInput,\n options: OAuth2MfaLoginTicketIssueOptions = {},\n ) : Promise<OAuth2MfaLoginTicket> {\n const { user } = input;\n const clientId = input.clientId ?? undefined;\n\n // One expiration instant for BOTH artifacts — the pending session\n // lives exactly as long as the ticket (an abandoned login\n // self-expires and is swept with the regular session sweep;\n // completion extends it to the full lifetime). Computed once so\n // the two cannot drift.\n const expiresAt = this.ticketIssuer.buildExp();\n\n const session = await this.sessionManager.create({\n userAgent: options.userAgent,\n ipAddress: options.ipAddress,\n realmId: user.realmId,\n clientId,\n sub: user.id,\n subKind: IdentityType.USER,\n mfaAt: null,\n authMethod: SessionAuthMethod.PASSWORD,\n expiresAt: new Date(expiresAt * 1000).toISOString(),\n });\n\n // No scope, no role claims — the ticket is not a bearer; it only\n // unlocks the challenge routes (which opt in by kind).\n const [token, payload] = await this.ticketIssuer.issue({\n client_id: clientId,\n session_id: session.id,\n user_agent: session.userAgent,\n remote_address: session.ipAddress,\n sub: user.id,\n sub_kind: OAuth2SubKind.USER,\n realm_id: user.realmId,\n realm_name: user.realm?.name,\n ...(input.confirmation ? { cnf: input.confirmation } : {}),\n exp: expiresAt,\n });\n\n return {\n token,\n expiresIn: payload.exp ?\n payload.exp - Math.floor(Date.now() / 1000) :\n 0,\n };\n }\n\n async complete(input: OAuth2MfaLoginCompleteInput) : Promise<OAuth2TokenGrantResponse> {\n const { ticket } = input;\n\n // Extend the ticket-scoped pending session to the regular session\n // lifetime — the login is complete now.\n const session = await this.sessionManager.refresh(input.session);\n\n // mfaAt was stamped inside the verify unit of work, so the claims\n // advertise the completed factor (amr +otp, acr urn:authup:mfa).\n const amrAcr = deriveAmrAcr(session);\n\n // Single use: atomically claim the ticket BEFORE minting so two\n // concurrent completions (a mixed-kind user presenting two distinct\n // fresh factors) cannot both issue a token pair — `claimInactive` is a\n // set-if-absent write, so exactly one racer wins. The trade-off vs.\n // claiming after minting is that a mint failure burns the ticket — the\n // safer bias for a single-use login credential (the user re-authenticates).\n if (ticket.jti) {\n const claimed = await this.tokenRepository.claimInactive(ticket.jti, ticket.exp);\n if (!claimed) {\n throw OAuth2GrantError.invalid('mfa login ticket has already been used');\n }\n }\n\n const issuePayload : Partial<OAuth2TokenPayload> = {\n client_id: session.clientId ?? undefined,\n session_id: session.id,\n user_agent: session.userAgent,\n remote_address: session.ipAddress,\n scope: ScopeName.GLOBAL,\n sub: session.sub,\n sub_kind: OAuth2SubKind.USER,\n realm_id: session.realmId,\n realm_name: ticket.realm_name,\n ...(ticket.cnf ? { cnf: ticket.cnf } : {}),\n ...amrAcr,\n };\n\n const [accessToken, accessTokenPayload] = await this.accessTokenIssuer.issue(issuePayload);\n const [refreshToken, refreshTokenPayload] = await this.refreshTokenIssuer.issue(issuePayload);\n\n await this.eventService?.record({\n scope: EventScope.OAUTH2,\n name: EventName.LOGIN,\n refType: EventRefType.SESSION,\n refId: session.id,\n clientId: session.clientId ?? null,\n actorType: IdentityType.USER,\n actorId: session.sub,\n actorName: input.userName ?? null,\n realmId: session.realmId,\n requestIpAddress: session.ipAddress ?? null,\n requestUserAgent: session.userAgent ?? null,\n data: {\n grantType: OAuth2TokenGrant.PASSWORD,\n sessionId: session.id,\n },\n });\n this.metrics?.recordLogin('success');\n\n return buildOAuth2BearerTokenResponse({\n accessToken,\n accessTokenPayload,\n refreshToken,\n refreshTokenPayload,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Session, User } from '@authup/core-kit';
|
|
2
|
+
import type { OAuth2TokenConfirmation, OAuth2TokenGrantResponse, OAuth2TokenPayload } from '@authup/specs';
|
|
3
|
+
import type { IEventService } from '../../entities/index.ts';
|
|
4
|
+
import type { IAuthFlowMetrics } from '../../metrics/index.ts';
|
|
5
|
+
import type { ISessionManager } from '../../authentication/index.ts';
|
|
6
|
+
import type { IOAuth2TokenIssuer, IOAuth2TokenRepository } from '../token/index.ts';
|
|
7
|
+
export type OAuth2MfaLoginTicketIssueInput = {
|
|
8
|
+
user: User;
|
|
9
|
+
clientId?: string | null;
|
|
10
|
+
confirmation?: OAuth2TokenConfirmation;
|
|
11
|
+
};
|
|
12
|
+
export type OAuth2MfaLoginTicketIssueOptions = {
|
|
13
|
+
ipAddress?: string;
|
|
14
|
+
userAgent?: string;
|
|
15
|
+
};
|
|
16
|
+
export type OAuth2MfaLoginTicket = {
|
|
17
|
+
token: string;
|
|
18
|
+
expiresIn: number;
|
|
19
|
+
};
|
|
20
|
+
export type OAuth2MfaLoginCompleteInput = {
|
|
21
|
+
/**
|
|
22
|
+
* The pending session the ticket references — already mfa-stamped by
|
|
23
|
+
* the challenge verify (markMfaVerified runs in the verify unit of
|
|
24
|
+
* work, before completion).
|
|
25
|
+
*/
|
|
26
|
+
session: Session;
|
|
27
|
+
/**
|
|
28
|
+
* The verified mfa_token payload the caller authenticated with.
|
|
29
|
+
*/
|
|
30
|
+
ticket: OAuth2TokenPayload;
|
|
31
|
+
/**
|
|
32
|
+
* Actor name for the LOGIN security event.
|
|
33
|
+
*/
|
|
34
|
+
userName?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The "MFA-pending" login-ticket seam (issue #3242): the password grant
|
|
38
|
+
* issues a restricted ticket (kind: mfa_token) instead of failing closed
|
|
39
|
+
* when the second factor cannot ride the single POST (email / WebAuthn),
|
|
40
|
+
* and a successful interactive challenge completes the login by minting
|
|
41
|
+
* the full token pair for the now-MFA'd pending session.
|
|
42
|
+
*/
|
|
43
|
+
export interface IOAuth2MfaLoginService {
|
|
44
|
+
/**
|
|
45
|
+
* Create the pending session (mfaAt: null, ticket-scoped lifetime)
|
|
46
|
+
* and mint the mfa_token bound to it.
|
|
47
|
+
*/
|
|
48
|
+
issueTicket(input: OAuth2MfaLoginTicketIssueInput, options?: OAuth2MfaLoginTicketIssueOptions): Promise<OAuth2MfaLoginTicket>;
|
|
49
|
+
/**
|
|
50
|
+
* Mint the full grant for the completed session, extend it to the
|
|
51
|
+
* regular session lifetime, and consume the ticket (single use).
|
|
52
|
+
*/
|
|
53
|
+
complete(input: OAuth2MfaLoginCompleteInput): Promise<OAuth2TokenGrantResponse>;
|
|
54
|
+
}
|
|
55
|
+
export type OAuth2MfaLoginServiceContext = {
|
|
56
|
+
sessionManager: ISessionManager;
|
|
57
|
+
ticketIssuer: IOAuth2TokenIssuer;
|
|
58
|
+
accessTokenIssuer: IOAuth2TokenIssuer;
|
|
59
|
+
refreshTokenIssuer: IOAuth2TokenIssuer;
|
|
60
|
+
tokenRepository: IOAuth2TokenRepository;
|
|
61
|
+
eventService?: IEventService;
|
|
62
|
+
metrics?: IAuthFlowMetrics;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/mfa-login/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EACR,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,MAAM,8BAA8B,GAAG;IACzC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,kBAAkB,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,WAAW,CACP,KAAK,EAAE,8BAA8B,EACrC,OAAO,CAAC,EAAE,gCAAgC,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACnF;AAED,MAAM,MAAM,4BAA4B,GAAG;IACvC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,kBAAkB,CAAC;IACjC,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,sBAAsB,CAAC;IACxC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Client, Identity,
|
|
1
|
+
import type { Client, Identity, User } from '@authup/core-kit';
|
|
2
2
|
import type { OpenIDTokenPayload } from '@authup/specs';
|
|
3
3
|
import type { ObjectLiteral } from 'validup';
|
|
4
4
|
type AttributeMapTuple<T> = {
|
|
@@ -7,7 +7,6 @@ type AttributeMapTuple<T> = {
|
|
|
7
7
|
type AttributeMap<T extends Record<string, any>> = Record<keyof OpenIDTokenPayload, keyof T | AttributeMapTuple<T>>;
|
|
8
8
|
export declare class OAuth2OpenIDClaimsBuilder {
|
|
9
9
|
protected clientMap: AttributeMap<Client>;
|
|
10
|
-
protected robotMap: AttributeMap<Robot>;
|
|
11
10
|
protected userMap: AttributeMap<User>;
|
|
12
11
|
/**
|
|
13
12
|
* Build OpenID Claims form Oauth2 Identity.
|
|
@@ -16,7 +15,6 @@ export declare class OAuth2OpenIDClaimsBuilder {
|
|
|
16
15
|
*/
|
|
17
16
|
fromIdentity(identity: Identity): OpenIDTokenPayload;
|
|
18
17
|
fromClient(input: Client): OpenIDTokenPayload;
|
|
19
|
-
fromRobot(input: Robot): OpenIDTokenPayload;
|
|
20
18
|
fromUser(input: User): OpenIDTokenPayload;
|
|
21
19
|
protected extract<T extends ObjectLiteral = ObjectLiteral>(attributeMap: AttributeMap<T>, attributes: T): OpenIDTokenPayload;
|
|
22
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/openid/claims.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,MAAM,EACN,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/openid/claims.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACP,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,iBAAiB,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,GAAG,CAAC;CAC/C,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CACrD,MAAM,kBAAkB,EAC5B,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAC7B,CAAC;AAEF,qBAAa,yBAAyB;IAClC,SAAS,CAAC,SAAS,EAAG,YAAY,CAAC,MAAM,CAAC,CAcxC;IAEF,SAAS,CAAC,OAAO,EAAG,YAAY,CAAC,IAAI,CAAC,CAmBpC;IAEF;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAI,kBAAkB;IAQrD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAI,kBAAkB;IAI9C,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAI,kBAAkB;IAI1C,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EACrD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,UAAU,EAAE,CAAC,GACb,kBAAkB;CAqBzB"}
|
|
@@ -9,27 +9,18 @@ var OAuth2OpenIDClaimsBuilder = class {
|
|
|
9
9
|
name: "name",
|
|
10
10
|
nickname: "name",
|
|
11
11
|
preferred_username: "name",
|
|
12
|
-
updated_at: ["
|
|
13
|
-
if (typeof value === "string") return Math.floor(new Date(value).getTime() / 1e3);
|
|
14
|
-
return value;
|
|
15
|
-
}]
|
|
16
|
-
};
|
|
17
|
-
robotMap = {
|
|
18
|
-
name: "name",
|
|
19
|
-
nickname: "name",
|
|
20
|
-
preferred_username: "name",
|
|
21
|
-
updated_at: ["updated_at", (value) => {
|
|
12
|
+
updated_at: ["updatedAt", (value) => {
|
|
22
13
|
if (typeof value === "string") return Math.floor(new Date(value).getTime() / 1e3);
|
|
23
14
|
return value;
|
|
24
15
|
}]
|
|
25
16
|
};
|
|
26
17
|
userMap = {
|
|
27
18
|
name: "name",
|
|
28
|
-
family_name: "
|
|
29
|
-
given_name: "
|
|
30
|
-
nickname: "
|
|
31
|
-
preferred_username: "
|
|
32
|
-
updated_at: ["
|
|
19
|
+
family_name: "lastName",
|
|
20
|
+
given_name: "firstName",
|
|
21
|
+
nickname: "displayName",
|
|
22
|
+
preferred_username: "displayName",
|
|
23
|
+
updated_at: ["updatedAt", (value) => {
|
|
33
24
|
if (typeof value === "string") return Math.floor(new Date(value).getTime() / 1e3);
|
|
34
25
|
return value;
|
|
35
26
|
}],
|
|
@@ -42,15 +33,11 @@ var OAuth2OpenIDClaimsBuilder = class {
|
|
|
42
33
|
* @param identity
|
|
43
34
|
*/ fromIdentity(identity) {
|
|
44
35
|
if (identity.type === OAuth2SubKind.CLIENT) return this.fromClient(identity.data);
|
|
45
|
-
if (identity.type === OAuth2SubKind.ROBOT) return this.fromRobot(identity.data);
|
|
46
36
|
return this.fromUser(identity.data);
|
|
47
37
|
}
|
|
48
38
|
fromClient(input) {
|
|
49
39
|
return this.extract(this.clientMap, input);
|
|
50
40
|
}
|
|
51
|
-
fromRobot(input) {
|
|
52
|
-
return this.extract(this.robotMap, input);
|
|
53
|
-
}
|
|
54
41
|
fromUser(input) {
|
|
55
42
|
return this.extract(this.userMap, input);
|
|
56
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claims.mjs","names":["hasOwnProperty","OAuth2SubKind","OAuth2OpenIDClaimsBuilder","clientMap","name","nickname","preferred_username","updated_at","value","Math","floor","Date","getTime","
|
|
1
|
+
{"version":3,"file":"claims.mjs","names":["hasOwnProperty","OAuth2SubKind","OAuth2OpenIDClaimsBuilder","clientMap","name","nickname","preferred_username","updated_at","value","Math","floor","Date","getTime","userMap","family_name","given_name","email","email_verified","fromIdentity","identity","type","CLIENT","fromClient","data","fromUser","input","extract","attributeMap","attributes","result","keys","Object","key_","attribute","key","transformer"],"sources":["../../../../src/core/oauth2/openid/claims.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 {\n Client, \n Identity, \n User,\n} from '@authup/core-kit';\nimport { hasOwnProperty } from '@authup/kit';\nimport type { OpenIDTokenPayload } from '@authup/specs';\nimport { OAuth2SubKind } from '@authup/specs';\nimport type { ObjectLiteral } from 'validup';\n\ntype AttributeMapTuple<T> = {\n [K in keyof T]: [K, (value: unknown) => any]\n}[keyof T];\n\ntype AttributeMap<T extends Record<string, any>> = Record<\n keyof OpenIDTokenPayload,\nkeyof T | AttributeMapTuple<T>\n>;\n\nexport class OAuth2OpenIDClaimsBuilder {\n protected clientMap : AttributeMap<Client> = {\n name: 'name',\n nickname: 'name',\n preferred_username: 'name',\n updated_at: [\n 'updatedAt',\n (value: unknown) => {\n if (typeof value === 'string') {\n return Math.floor(new Date(value).getTime() / 1000);\n }\n\n return value;\n },\n ],\n };\n\n protected userMap : AttributeMap<User> = {\n name: 'name',\n family_name: 'lastName',\n given_name: 'firstName',\n nickname: 'displayName',\n preferred_username: 'displayName',\n updated_at: [\n 'updatedAt',\n (value: unknown) => {\n if (typeof value === 'string') {\n return Math.floor(new Date(value).getTime() / 1000);\n }\n\n return value;\n },\n ],\n\n email: 'email',\n email_verified: 'active',\n };\n\n /**\n * Build OpenID Claims form Oauth2 Identity.\n *\n * @param identity\n */\n fromIdentity(identity: Identity) : OpenIDTokenPayload {\n if (identity.type === OAuth2SubKind.CLIENT) {\n return this.fromClient(identity.data);\n }\n\n return this.fromUser(identity.data);\n }\n\n fromClient(input: Client) : OpenIDTokenPayload {\n return this.extract(this.clientMap, input);\n }\n\n fromUser(input: User) : OpenIDTokenPayload {\n return this.extract(this.userMap, input);\n }\n\n protected extract<T extends ObjectLiteral = ObjectLiteral>(\n attributeMap: AttributeMap<T>,\n attributes: T,\n ) : OpenIDTokenPayload {\n const result = {} as OpenIDTokenPayload;\n\n const keys = Object.keys(attributeMap);\n for (const key_ of keys) {\n const attribute = attributeMap[key_];\n if (typeof attribute === 'string') {\n if (hasOwnProperty(attributes, attribute)) {\n result[key_] = attributes[attribute];\n }\n } else {\n const [key, transformer] = attribute as AttributeMapTuple<T>;\n\n if (hasOwnProperty(attributes, key)) {\n result[key_] = transformer(attributes[key]);\n }\n }\n }\n\n return result;\n }\n}\n"],"mappings":";;;;;;AA0BA,IAAaE,4BAAb,MAAaA;CACCC,YAAmC;EACzCC,MAAM;EACNC,UAAU;EACVC,oBAAoB;EACpBC,YAAY,CACR,cACCC,UAAAA;GACG,IAAI,OAAOA,UAAU,UACjB,OAAOC,KAAKC,MAAM,IAAIC,KAAKH,KAAAA,CAAAA,CAAOI,QAAO,IAAK,GAAA;GAGlD,OAAOJ;EACX,CAAA;CAER;CAEUK,UAA+B;EACrCT,MAAM;EACNU,aAAa;EACbC,YAAY;EACZV,UAAU;EACVC,oBAAoB;EACpBC,YAAY,CACR,cACCC,UAAAA;GACG,IAAI,OAAOA,UAAU,UACjB,OAAOC,KAAKC,MAAM,IAAIC,KAAKH,KAAAA,CAAAA,CAAOI,QAAO,IAAK,GAAA;GAGlD,OAAOJ;EACX,CAAA;EAGJQ,OAAO;EACPC,gBAAgB;CACpB;;;;;IAOAC,aAAaC,UAAyC;EAClD,IAAIA,SAASC,SAASnB,cAAcoB,QAChC,OAAO,KAAKC,WAAWH,SAASI,IAAI;EAGxC,OAAO,KAAKC,SAASL,SAASI,IAAI;CACtC;CAEAD,WAAWG,OAAoC;EAC3C,OAAO,KAAKC,QAAQ,KAAKvB,WAAWsB,KAAAA;CACxC;CAEAD,SAASC,OAAkC;EACvC,OAAO,KAAKC,QAAQ,KAAKb,SAASY,KAAAA;CACtC;CAEUC,QACNC,cACAC,YACmB;EACnB,MAAMC,SAAS,CAAC;EAEhB,MAAMC,OAAOC,OAAOD,KAAKH,YAAAA;EACzB,KAAK,MAAMK,QAAQF,MAAM;GACrB,MAAMG,YAAYN,aAAaK;GAC/B,IAAI,OAAOC,cAAc;QACjBjC,eAAe4B,YAAYK,SAAAA,GAC3BJ,OAAOG,QAAQJ,WAAWK;GAAAA,OAE3B;IACH,MAAM,CAACC,KAAKC,eAAeF;IAE3B,IAAIjC,eAAe4B,YAAYM,GAAAA,GAC3BL,OAAOG,QAAQG,YAAYP,WAAWM,IAAI;GAElD;EACJ;EAEA,OAAOL;CACX;AACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Client,
|
|
1
|
+
import type { Client, User } from '@authup/core-kit';
|
|
2
2
|
import { OAuth2SubKind } from '@authup/specs';
|
|
3
3
|
import type { ObjectLiteral } from 'validup';
|
|
4
4
|
type ScopeFields<T extends ObjectLiteral = ObjectLiteral> = {
|
|
@@ -6,7 +6,6 @@ type ScopeFields<T extends ObjectLiteral = ObjectLiteral> = {
|
|
|
6
6
|
};
|
|
7
7
|
export declare class OAuth2ScopeAttributesResolver {
|
|
8
8
|
protected clientAttributes: ScopeFields<Client>;
|
|
9
|
-
protected robotAttributes: ScopeFields<Robot>;
|
|
10
9
|
protected userAttributes: ScopeFields<User>;
|
|
11
10
|
/**
|
|
12
11
|
* Resolve attributes for sub kind.
|
|
@@ -16,7 +15,6 @@ export declare class OAuth2ScopeAttributesResolver {
|
|
|
16
15
|
*/
|
|
17
16
|
resolveFor(type: OAuth2SubKind, scope: string | string[]): string[];
|
|
18
17
|
resolveForClient(scope: string | string[]): string[];
|
|
19
|
-
resolveForRobot(scope: string | string[]): string[];
|
|
20
18
|
resolveForUser(scope: string | string[]): string[];
|
|
21
19
|
}
|
|
22
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/scope/resolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/core/oauth2/scope/resolver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAqB,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,WAAW,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IACxD,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAA;CACtC,CAAC;AAEF,qBAAa,6BAA6B;IACtC,SAAS,CAAC,gBAAgB,EAAG,WAAW,CAAC,MAAM,CAAC,CAG9C;IAEF,SAAS,CAAC,cAAc,EAAG,WAAW,CAAC,IAAI,CAAC,CAI1C;IAEF;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAQxD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAI,MAAM,EAAE;IAkBrD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAI,MAAM,EAAE;CAiBtD"}
|