@neohm/nestend 5.0.1 → 6.0.0
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/README.md +34 -18
- package/dist/admin/controllers/admin.api.key.controller.d.ts +5 -0
- package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.js +22 -2
- package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
- package/dist/admin/controllers/admin.permission.controller.d.ts +17 -0
- package/dist/admin/controllers/admin.permission.controller.d.ts.map +1 -0
- package/dist/admin/controllers/admin.permission.controller.js +125 -0
- package/dist/admin/controllers/admin.permission.controller.js.map +1 -0
- package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.js +1 -1
- package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
- package/dist/admin/controllers/system.role.controller.d.ts +17 -1
- package/dist/admin/controllers/system.role.controller.d.ts.map +1 -1
- package/dist/admin/controllers/system.role.controller.js +13 -4
- package/dist/admin/controllers/system.role.controller.js.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.d.ts +1 -0
- package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.js +12 -0
- package/dist/admin/dtos/add.api.key.dto.js.map +1 -1
- package/dist/admin/dtos/add.permission.dto.d.ts +8 -0
- package/dist/admin/dtos/add.permission.dto.d.ts.map +1 -0
- package/dist/admin/dtos/add.permission.dto.js +53 -0
- package/dist/admin/dtos/add.permission.dto.js.map +1 -0
- package/dist/admin/dtos/add.system.role.dto.d.ts +3 -0
- package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.js +38 -1
- package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
- package/dist/admin/dtos/api.key.roles.dto.d.ts +4 -0
- package/dist/admin/dtos/api.key.roles.dto.d.ts.map +1 -0
- package/dist/admin/dtos/api.key.roles.dto.js +30 -0
- package/dist/admin/dtos/api.key.roles.dto.js.map +1 -0
- package/dist/admin/dtos/permission.list.dto.d.ts +4 -0
- package/dist/admin/dtos/permission.list.dto.d.ts.map +1 -0
- package/dist/admin/dtos/permission.list.dto.js +8 -0
- package/dist/admin/dtos/permission.list.dto.js.map +1 -0
- package/dist/admin/es6.classes.d.ts +9 -4
- package/dist/admin/es6.classes.d.ts.map +1 -1
- package/dist/admin/es6.classes.js +14 -0
- package/dist/admin/es6.classes.js.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.d.ts +1 -0
- package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.js +23 -1
- package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
- package/dist/admin/libraries/api.key.list.processor.d.ts.map +1 -1
- package/dist/admin/libraries/api.key.list.processor.js +18 -1
- package/dist/admin/libraries/api.key.list.processor.js.map +1 -1
- package/dist/admin/libraries/api.key.roles.data.processor.d.ts +15 -0
- package/dist/admin/libraries/api.key.roles.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/api.key.roles.data.processor.js +49 -0
- package/dist/admin/libraries/api.key.roles.data.processor.js.map +1 -0
- package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.membership.data.processor.js +4 -1
- package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +5 -2
- package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/permission.data.processor.d.ts +16 -0
- package/dist/admin/libraries/permission.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/permission.data.processor.js +68 -0
- package/dist/admin/libraries/permission.data.processor.js.map +1 -0
- package/dist/admin/libraries/permission.list.processor.d.ts +11 -0
- package/dist/admin/libraries/permission.list.processor.d.ts.map +1 -0
- package/dist/admin/libraries/permission.list.processor.js +42 -0
- package/dist/admin/libraries/permission.list.processor.js.map +1 -0
- package/dist/admin/libraries/role.list.processor.d.ts.map +1 -1
- package/dist/admin/libraries/role.list.processor.js +14 -1
- package/dist/admin/libraries/role.list.processor.js.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.d.ts +4 -0
- package/dist/admin/libraries/system.role.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.js +68 -5
- package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
- package/dist/admin/utilities/api.key.role.policy.d.ts +4 -0
- package/dist/admin/utilities/api.key.role.policy.d.ts.map +1 -0
- package/dist/admin/utilities/api.key.role.policy.js +30 -0
- package/dist/admin/utilities/api.key.role.policy.js.map +1 -0
- package/dist/admin/utilities/scope.grants.d.ts.map +1 -1
- package/dist/admin/utilities/scope.grants.js +6 -1
- package/dist/admin/utilities/scope.grants.js.map +1 -1
- package/dist/admin/utilities/tenant.role.policy.d.ts +4 -5
- package/dist/admin/utilities/tenant.role.policy.d.ts.map +1 -1
- package/dist/admin/utilities/tenant.role.policy.js +7 -6
- package/dist/admin/utilities/tenant.role.policy.js.map +1 -1
- package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/auth.controller.js +5 -2
- package/dist/auth/controllers/auth.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.js +15 -16
- package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.js +5 -5
- package/dist/auth/controllers/tenant.member.controller.js.map +1 -1
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts +4 -0
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts.map +1 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js +7 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js.map +1 -1
- package/dist/auth/entities/api.key.role.entity.d.ts +13 -0
- package/dist/auth/entities/api.key.role.entity.d.ts.map +1 -0
- package/dist/auth/entities/api.key.role.entity.js +51 -0
- package/dist/auth/entities/api.key.role.entity.js.map +1 -0
- package/dist/auth/entities/permission.entity.d.ts +10 -0
- package/dist/auth/entities/permission.entity.d.ts.map +1 -0
- package/dist/auth/entities/permission.entity.js +43 -0
- package/dist/auth/entities/permission.entity.js.map +1 -0
- package/dist/auth/entities/role.permission.entity.d.ts +10 -0
- package/dist/auth/entities/role.permission.entity.d.ts.map +1 -0
- package/dist/auth/entities/role.permission.entity.js +41 -0
- package/dist/auth/entities/role.permission.entity.js.map +1 -0
- package/dist/auth/entities/system.role.entity.d.ts +6 -0
- package/dist/auth/entities/system.role.entity.d.ts.map +1 -1
- package/dist/auth/entities/system.role.entity.js +20 -0
- package/dist/auth/entities/system.role.entity.js.map +1 -1
- package/dist/auth/enums/role.default.enum.d.ts +8 -0
- package/dist/auth/enums/role.default.enum.d.ts.map +1 -0
- package/dist/auth/enums/role.default.enum.js +13 -0
- package/dist/auth/enums/role.default.enum.js.map +1 -0
- package/dist/auth/enums/tenant.role.enum.d.ts.map +1 -1
- package/dist/auth/enums/tenant.role.enum.js.map +1 -1
- package/dist/auth/guards/api.key.guard.d.ts.map +1 -1
- package/dist/auth/guards/api.key.guard.js +24 -8
- package/dist/auth/guards/api.key.guard.js.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.js +1 -1
- package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts +3 -1
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.js +6 -2
- package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts +2 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.js +4 -1
- package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -1
- package/dist/auth/services/api.key.service.d.ts +10 -2
- package/dist/auth/services/api.key.service.d.ts.map +1 -1
- package/dist/auth/services/api.key.service.js +84 -7
- package/dist/auth/services/api.key.service.js.map +1 -1
- package/dist/auth/services/auth.service.d.ts +10 -5
- package/dist/auth/services/auth.service.d.ts.map +1 -1
- package/dist/auth/services/auth.service.js +63 -49
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/role.service.d.ts +3 -1
- package/dist/auth/services/role.service.d.ts.map +1 -1
- package/dist/auth/services/role.service.js +37 -0
- package/dist/auth/services/role.service.js.map +1 -1
- package/dist/auth/services/scope.service.d.ts +1 -0
- package/dist/auth/services/scope.service.d.ts.map +1 -1
- package/dist/auth/services/scope.service.js +32 -0
- package/dist/auth/services/scope.service.js.map +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts +6 -4
- package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.invitation.service.js +30 -6
- package/dist/auth/services/tenant.invitation.service.js.map +1 -1
- package/dist/auth/services/tenant.membership.service.d.ts +3 -1
- package/dist/auth/services/tenant.membership.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.membership.service.js +22 -3
- package/dist/auth/services/tenant.membership.service.js.map +1 -1
- package/dist/auth/types/api.key.types.d.ts +6 -0
- package/dist/auth/types/api.key.types.d.ts.map +1 -1
- package/dist/auth/types/auth.types.d.ts +2 -0
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/auth/types/rbac.types.d.ts +35 -0
- package/dist/auth/types/rbac.types.d.ts.map +1 -0
- package/dist/auth/types/rbac.types.js +3 -0
- package/dist/auth/types/rbac.types.js.map +1 -0
- package/dist/auth/utilities/grant.authority.d.ts +14 -0
- package/dist/auth/utilities/grant.authority.d.ts.map +1 -0
- package/dist/auth/utilities/grant.authority.js +38 -0
- package/dist/auth/utilities/grant.authority.js.map +1 -0
- package/dist/auth/utilities/role.catalogue.d.ts +10 -0
- package/dist/auth/utilities/role.catalogue.d.ts.map +1 -0
- package/dist/auth/utilities/role.catalogue.js +81 -0
- package/dist/auth/utilities/role.catalogue.js.map +1 -0
- package/dist/auth/utilities/role.hierarchy.d.ts +31 -0
- package/dist/auth/utilities/role.hierarchy.d.ts.map +1 -0
- package/dist/auth/utilities/role.hierarchy.js +149 -0
- package/dist/auth/utilities/role.hierarchy.js.map +1 -0
- package/dist/auth/utilities/scope.cascade.d.ts +2 -0
- package/dist/auth/utilities/scope.cascade.d.ts.map +1 -1
- package/dist/auth/utilities/scope.cascade.js +44 -2
- package/dist/auth/utilities/scope.cascade.js.map +1 -1
- package/dist/auth/utilities/tenant.access.d.ts.map +1 -1
- package/dist/auth/utilities/tenant.access.js +10 -3
- package/dist/auth/utilities/tenant.access.js.map +1 -1
- package/dist/common/subscribers/common.subscriber.d.ts +4 -4
- package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/common.subscriber.js +2 -2
- package/dist/common/subscribers/common.subscriber.js.map +1 -1
- package/dist/constants/entity.constants.d.ts +3 -0
- package/dist/constants/entity.constants.d.ts.map +1 -1
- package/dist/constants/entity.constants.js +3 -0
- package/dist/constants/entity.constants.js.map +1 -1
- package/dist/constants/entity.maps.d.ts +6 -0
- package/dist/constants/entity.maps.d.ts.map +1 -1
- package/dist/constants/entity.maps.js +6 -0
- package/dist/constants/entity.maps.js.map +1 -1
- package/dist/index.d.ts +9 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -9
- package/dist/index.js.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.js +7 -0
- package/dist/migrations/1749600000004.CreateSysRolesTable.js.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts +3 -0
- package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.js +16 -0
- package/dist/migrations/1749600000025.CreateSysScopesTable.js.map +1 -1
- package/dist/migrations/1749600000033.CreateSysPermissionsTable.d.ts +6 -0
- package/dist/migrations/1749600000033.CreateSysPermissionsTable.d.ts.map +1 -0
- package/dist/migrations/1749600000033.CreateSysPermissionsTable.js +29 -0
- package/dist/migrations/1749600000033.CreateSysPermissionsTable.js.map +1 -0
- package/dist/migrations/1749600000034.CreateSysRolePermissionsTable.d.ts +6 -0
- package/dist/migrations/1749600000034.CreateSysRolePermissionsTable.d.ts.map +1 -0
- package/dist/migrations/1749600000034.CreateSysRolePermissionsTable.js +32 -0
- package/dist/migrations/1749600000034.CreateSysRolePermissionsTable.js.map +1 -0
- package/dist/migrations/1749600000035.CreateSysApiKeyRolesTable.d.ts +6 -0
- package/dist/migrations/1749600000035.CreateSysApiKeyRolesTable.d.ts.map +1 -0
- package/dist/migrations/1749600000035.CreateSysApiKeyRolesTable.js +38 -0
- package/dist/migrations/1749600000035.CreateSysApiKeyRolesTable.js.map +1 -0
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts +6 -0
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts.map +1 -0
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.js +25 -0
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.js.map +1 -0
- package/package.json +1 -1
- package/dist/auth/enums/role.tier.enum.d.ts +0 -6
- package/dist/auth/enums/role.tier.enum.d.ts.map +0 -1
- package/dist/auth/enums/role.tier.enum.js +0 -10
- package/dist/auth/enums/role.tier.enum.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.role.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/tenant.role.enum.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tenant.role.enum.js","sourceRoot":"","sources":["../../../src/auth/enums/tenant.role.enum.ts"],"names":[],"mappings":";;;AAOA,IAAY,UAGX;AAHD,WAAY,UAAU;IAEpB,2CAA6B,CAAA;AAC/B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/api.key.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"api.key.guard.d.ts","sourceRoot":"","sources":["../../../src/auth/guards/api.key.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAYtD,qBACa,WAAY,YAAW,WAAW;IAE3C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU;IAG/B,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmE/D"}
|
|
@@ -35,16 +35,32 @@ let ApiKeyGuard = class ApiKeyGuard {
|
|
|
35
35
|
const apiKey = await this.apiKeyService.validateApiKey(rawKey);
|
|
36
36
|
if (!apiKey)
|
|
37
37
|
throw new common_1.UnauthorizedException('API key is invalid, revoked or expired.');
|
|
38
|
-
const
|
|
39
|
-
|
|
38
|
+
const required = (key) => this.reflector.getAllAndOverride(key, targets) ?? [];
|
|
39
|
+
const requiredScopes = required(api_key_scopes_decorator_1.API_KEY_SCOPES_KEY);
|
|
40
|
+
const requiredRoles = required(api_key_scopes_decorator_1.API_KEY_ROLES_KEY);
|
|
41
|
+
const requiredPermissions = required(api_key_scopes_decorator_1.API_KEY_PERMISSIONS_KEY);
|
|
40
42
|
const anyScope = this.reflector.getAllAndOverride(api_key_scopes_decorator_1.API_KEY_ANY_SCOPE_KEY, targets);
|
|
41
|
-
if (!requiredScopes.length &&
|
|
43
|
+
if (!requiredScopes.length &&
|
|
44
|
+
!requiredRoles.length &&
|
|
45
|
+
!requiredPermissions.length &&
|
|
46
|
+
!anyScope)
|
|
42
47
|
throw new access_exception_1.AccessException('This route accepts no API key scope.');
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
if (
|
|
46
|
-
throw new access_exception_1.AccessException(`API key is missing the "${
|
|
47
|
-
|
|
48
|
+
const grant = await this.apiKeyService.effectiveGrant(apiKey);
|
|
49
|
+
const missingScope = requiredScopes.find((scope) => !api_key_service_1.ApiKeyService.grants(grant.scopes, scope));
|
|
50
|
+
if (missingScope)
|
|
51
|
+
throw new access_exception_1.AccessException(`API key is missing the "${missingScope}" scope.`);
|
|
52
|
+
const missingRole = requiredRoles.find((role) => !grant.roles.includes(role));
|
|
53
|
+
if (missingRole)
|
|
54
|
+
throw new access_exception_1.AccessException(`API key requires at least the "${missingRole}" role.`);
|
|
55
|
+
const missingPermission = requiredPermissions.find((permission) => !grant.permissions.includes(permission));
|
|
56
|
+
if (missingPermission)
|
|
57
|
+
throw new access_exception_1.AccessException(`API key is missing the "${missingPermission}" permission.`);
|
|
58
|
+
Object.assign(request, {
|
|
59
|
+
apiKey,
|
|
60
|
+
apiKeyScopes: grant.scopes,
|
|
61
|
+
apiKeyRoles: grant.roles,
|
|
62
|
+
apiKeyPermissions: grant.permissions,
|
|
63
|
+
});
|
|
48
64
|
return true;
|
|
49
65
|
}
|
|
50
66
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.guard.js","sourceRoot":"","sources":["../../../src/auth/guards/api.key.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,uCAAyC;AAEzC,+EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"api.key.guard.js","sourceRoot":"","sources":["../../../src/auth/guards/api.key.guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.middleware.d.ts","sourceRoot":"","sources":["../../../src/auth/middlewares/api.key.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"api.key.middleware.d.ts","sourceRoot":"","sources":["../../../src/auth/middlewares/api.key.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAYtD,qBACa,gBAAiB,YAAW,cAAc;IAEnD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,UAAU;IAG/B,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EACnB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC;YAWF,cAAc;CAsB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.middleware.js","sourceRoot":"","sources":["../../../src/auth/middlewares/api.key.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,iEAA4D;AAC5D,gEAA2D;AAE3D,0DAAsD;AACtD,0EAAsE;
|
|
1
|
+
{"version":3,"file":"api.key.middleware.js","sourceRoot":"","sources":["../../../src/auth/middlewares/api.key.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAE5D,iEAA4D;AAC5D,gEAA2D;AAE3D,0DAAsD;AACtD,0EAAsE;AAY/D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,aAA4B,EAC5B,MAAkB;QADlB,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAY;IAClC,CAAC;IAEJ,KAAK,CAAC,GAAG,CACP,OAAgB,EAChB,SAAmB,EACnB,IAAkB;QAElB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAGnD,IAAI,OAAO,EAAE,CAAC;YACZ,+BAAa,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAgB;QAEhB,MAAM,MAAM,GAAG,wCAAkB,CAAC,MAAM,CACtC,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAEzB,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;gBAClC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aACrD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA3CY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGuB,+BAAa;QACpB,wBAAU;GAH1B,gBAAgB,CA2C5B"}
|
|
@@ -3,12 +3,14 @@ import { InviteTenantUserDto } from '../dtos/invite.tenant.user.dto';
|
|
|
3
3
|
import { TenantInvitationEntity } from '../entities/tenant.invitation.entity';
|
|
4
4
|
import { UserEntity } from '../entities/user.entity';
|
|
5
5
|
import { TenantInvitationService } from '../services/tenant.invitation.service';
|
|
6
|
+
import { GrantAuthority } from '../utilities/grant.authority';
|
|
6
7
|
export declare class TenantInvitationDataProcessor extends CommonDataProcessor {
|
|
7
8
|
private readonly inviter;
|
|
8
9
|
private readonly tenantInvitationService;
|
|
10
|
+
private readonly authority;
|
|
9
11
|
protected payload: InviteTenantUserDto;
|
|
10
12
|
private invitee;
|
|
11
|
-
constructor(inviter: UserEntity, tenantInvitationService: TenantInvitationService);
|
|
13
|
+
constructor(inviter: UserEntity, tenantInvitationService: TenantInvitationService, authority: GrantAuthority);
|
|
12
14
|
process(payload: InviteTenantUserDto): Promise<TenantInvitationEntity>;
|
|
13
15
|
private get tenantId();
|
|
14
16
|
private get dataSource();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.invitation.data.processor.d.ts","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.data.processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.invitation.data.processor.d.ts","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.data.processor.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAS9D,qBAAa,6BAA8B,SAAQ,mBAAmB;IAKlE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACvC,OAAO,CAAC,OAAO,CAA2B;gBAGvB,OAAO,EAAE,UAAU,EACnB,uBAAuB,EAAE,uBAAuB,EAChD,SAAS,EAAE,cAAc;IAKtC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAU5E,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,UAAU,GAErB;YAEa,QAAQ;YAaR,eAAe;YAgBf,eAAe;YAYf,aAAa;YAsBb,MAAM;IAqFpB,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -13,10 +13,11 @@ const user_type_enum_1 = require("../enums/user.type.enum");
|
|
|
13
13
|
const tenant_invitation_service_1 = require("../services/tenant.invitation.service");
|
|
14
14
|
const auth_utilities_1 = require("../utilities/auth.utilities");
|
|
15
15
|
class TenantInvitationDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
16
|
-
constructor(inviter, tenantInvitationService) {
|
|
16
|
+
constructor(inviter, tenantInvitationService, authority) {
|
|
17
17
|
super();
|
|
18
18
|
this.inviter = inviter;
|
|
19
19
|
this.tenantInvitationService = tenantInvitationService;
|
|
20
|
+
this.authority = authority;
|
|
20
21
|
this.invitee = null;
|
|
21
22
|
}
|
|
22
23
|
async process(payload) {
|
|
@@ -73,9 +74,12 @@ class TenantInvitationDataProcessor extends common_data_processor_1.CommonDataPr
|
|
|
73
74
|
is_active: true,
|
|
74
75
|
});
|
|
75
76
|
const found = new Set(roles.map((role) => role.id));
|
|
76
|
-
for (const roleId of roleIds)
|
|
77
|
+
for (const roleId of roleIds) {
|
|
77
78
|
if (!found.has(roleId))
|
|
78
79
|
this.setColumnError('role_ids', `Role '${roleId}' not found or inactive`);
|
|
80
|
+
else if (!this.authority.canGrant(roleId))
|
|
81
|
+
this.setColumnError('role_ids', `You may not grant '${roles.find((role) => role.id === roleId)?.identifier}' in this organization`);
|
|
82
|
+
}
|
|
79
83
|
}
|
|
80
84
|
async create() {
|
|
81
85
|
const oneTimePassword = this.invitee
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.invitation.data.processor.js","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAMiB;AACjB,wFAAmF;AACnF,+EAA2E;AAE3E,uEAAkE;AAClE,mFAA8E;AAC9E,uEAAkE;AAClE,yDAAqD;AACrD,0FAAgF;AAChF,4DAAmD;AACnD,qFAAgF;AAChF,gEAA0D;
|
|
1
|
+
{"version":3,"file":"tenant.invitation.data.processor.js","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.data.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ export declare class TenantInvitationListProcessor extends CommonListProcessor {
|
|
|
8
8
|
protected config: CommonListFilterConfig;
|
|
9
9
|
constructor(listFilterService: ListFilterService);
|
|
10
10
|
private tenantId;
|
|
11
|
-
|
|
11
|
+
private createdBy?;
|
|
12
|
+
process(payload: TenantInvitationListDto, tenantId: string, createdBy?: string): Promise<import("../../common/types/list.types").CommonListResult>;
|
|
12
13
|
protected applyCustomPredicates(): void;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=tenant.invitation.list.processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.invitation.list.processor.d.ts","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.list.processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAO7E,qBAAa,6BAA8B,SAAQ,mBAAmB;IAkDxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAjDnE,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAE3C,SAAS,CAAC,MAAM,EAAE,sBAAsB,CA6CtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAInE,OAAO,CAAC,QAAQ,CAAS;
|
|
1
|
+
{"version":3,"file":"tenant.invitation.list.processor.d.ts","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.list.processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAO7E,qBAAa,6BAA8B,SAAQ,mBAAmB;IAkDxD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAjDnE,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAE3C,SAAS,CAAC,MAAM,EAAE,sBAAsB,CA6CtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAInE,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAS;IAMrB,OAAO,CACX,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM;IAUpB,SAAS,CAAC,qBAAqB;CAKhC"}
|
|
@@ -56,15 +56,18 @@ class TenantInvitationListProcessor extends common_list_processor_1.CommonListPr
|
|
|
56
56
|
defaultSort: { field: 'created_at', direction: sort_direction_enum_1.SortDirection.DESC },
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
async process(payload, tenantId) {
|
|
59
|
+
async process(payload, tenantId, createdBy) {
|
|
60
60
|
if (!tenantId)
|
|
61
61
|
throw new access_exception_1.AccessException('No organization in this session.');
|
|
62
62
|
this.payload = payload;
|
|
63
63
|
this.tenantId = tenantId;
|
|
64
|
+
this.createdBy = createdBy;
|
|
64
65
|
return this.handle();
|
|
65
66
|
}
|
|
66
67
|
applyCustomPredicates() {
|
|
67
68
|
this.predicates.add('i.tenant_id = :value', this.tenantId);
|
|
69
|
+
if (this.createdBy)
|
|
70
|
+
this.predicates.add('i.created_by = :value', this.createdBy);
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
exports.TenantInvitationListProcessor = TenantInvitationListProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.invitation.list.processor.js","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.list.processor.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAUnF,MAAa,6BAA8B,SAAQ,2CAAmB;IAkDpE,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QA/CzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;;;;;;;;;;;;;mBAcQ;YACf,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;gBACzC;oBACE,GAAG,EAAE,YAAY;oBACjB,UAAU,EAAE,OAAO;oBACnB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBACvD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,gBAAgB;oBACrB,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;aACF;YACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;IAIF,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.invitation.list.processor.js","sourceRoot":"","sources":["../../../src/auth/processors/tenant.invitation.list.processor.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAUnF,MAAa,6BAA8B,SAAQ,2CAAmB;IAkDpE,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QA/CzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;;;;;;;;;;;;;mBAcQ;YACf,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE;gBACzC;oBACE,GAAG,EAAE,YAAY;oBACjB,UAAU,EAAE,OAAO;oBACnB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvE,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBACvD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,gBAAgB;oBACrB,UAAU,EAAE,cAAc;oBAC1B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;aACF;YACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;IAIF,CAAC;IASD,KAAK,CAAC,OAAO,CACX,OAAgC,EAChC,QAAgB,EAChB,SAAkB;QAElB,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,kCAAe,CAAC,kCAAkC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS;YAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;CACF;AA/ED,sEA+EC"}
|
|
@@ -6,7 +6,7 @@ import { ScopeService } from './scope.service';
|
|
|
6
6
|
import { ApiKeyEntity } from '../entities/api.key.entity';
|
|
7
7
|
import { ApiScopeEntity } from '../entities/api.scope.entity';
|
|
8
8
|
import { AuthConfig } from '../utilities/auth.config';
|
|
9
|
-
import { ApiKeyAccess, ApiKeyDetail, GenerateApiKeyOptions, GeneratedApiKey } from '../types/api.key.types';
|
|
9
|
+
import { ApiKeyAccess, ApiKeyDetail, ApiKeyGrant, GenerateApiKeyOptions, GeneratedApiKey } from '../types/api.key.types';
|
|
10
10
|
export declare class ApiKeyService {
|
|
11
11
|
private readonly dataSource;
|
|
12
12
|
private readonly encryptionService;
|
|
@@ -20,16 +20,24 @@ export declare class ApiKeyService {
|
|
|
20
20
|
validateApiKey(rawKey: string): Promise<ApiKeyEntity | null>;
|
|
21
21
|
grantedScopes(apiKeyUuid: string): Promise<string[]>;
|
|
22
22
|
effectiveScopes(apiKey: ApiKeyEntity): Promise<string[]>;
|
|
23
|
+
effectiveGrant(apiKey: ApiKeyEntity): Promise<ApiKeyGrant>;
|
|
24
|
+
scopeReach(apiKey: ApiKeyEntity): Promise<Set<string>>;
|
|
25
|
+
private effectiveScopeRecords;
|
|
26
|
+
setRoles(apiKeyUuid: string, roleIds: string[], actorId?: string): Promise<string[]>;
|
|
23
27
|
static intersectScopes(granted: string[], principal: string[]): string[];
|
|
24
28
|
static grants(granted: string[], scope: string): boolean;
|
|
25
29
|
apiKeyDetail(apiKeyUuid: string, reveal?: boolean): Promise<ApiKeyDetail>;
|
|
26
30
|
hasScope(apiKey: ApiKeyEntity, scope: string): Promise<boolean>;
|
|
27
|
-
validateAccess(scopeIdentifier: string): ApiKeyAccess;
|
|
31
|
+
validateAccess(scopeIdentifier: string, roleIdentifier?: string): ApiKeyAccess;
|
|
32
|
+
validatePermission(...permissions: string[]): ApiKeyAccess;
|
|
33
|
+
private contextGrant;
|
|
34
|
+
private contextTenant;
|
|
28
35
|
revokeApiKey(apiKeyUuid: string, actorId?: string): Promise<void>;
|
|
29
36
|
disableApiKey(apiKeyUuid: string, actorId: string): Promise<DisableResult>;
|
|
30
37
|
deleteApiKey(apiKeyUuid: string, actorId: string): Promise<DeleteResult>;
|
|
31
38
|
listApiKeys(): Promise<ApiKeyEntity[]>;
|
|
32
39
|
private grantedScopeRecords;
|
|
40
|
+
private grantedRoleRecords;
|
|
33
41
|
private touchLastUsed;
|
|
34
42
|
private get apiKeyRepository();
|
|
35
43
|
private get apiScopeRepository();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/api.key.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAyB,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAGjD,OAAO,EACL,YAAY,EACZ,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"api.key.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/api.key.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,10 @@ const encryption_service_1 = require("../../common/services/encryption.service")
|
|
|
20
20
|
const scope_service_1 = require("./scope.service");
|
|
21
21
|
const hash_util_1 = require("../../global/utilities/hash.util");
|
|
22
22
|
const api_key_entity_1 = require("../entities/api.key.entity");
|
|
23
|
+
const api_key_role_entity_1 = require("../entities/api.key.role.entity");
|
|
23
24
|
const api_scope_entity_1 = require("../entities/api.scope.entity");
|
|
25
|
+
const role_catalogue_1 = require("../utilities/role.catalogue");
|
|
26
|
+
const scope_cascade_1 = require("../utilities/scope.cascade");
|
|
24
27
|
const api_key_default_enum_1 = require("../enums/api.key.default.enum");
|
|
25
28
|
const api_key_context_1 = require("../helpers/api.key.context");
|
|
26
29
|
const auth_config_1 = require("../utilities/auth.config");
|
|
@@ -47,6 +50,7 @@ let ApiKeyService = ApiKeyService_1 = class ApiKeyService {
|
|
|
47
50
|
...(options?.createdBy ? { created_by: options.createdBy } : {}),
|
|
48
51
|
}));
|
|
49
52
|
await this.grantScopes(apiKey.id, options?.scopeIds, options?.createdBy);
|
|
53
|
+
await this.setRoles(apiKey.id, options?.roleIds ?? [], options?.createdBy);
|
|
50
54
|
delete apiKey.key_encrypted;
|
|
51
55
|
delete apiKey.key_hash;
|
|
52
56
|
return { rawKey, apiKey };
|
|
@@ -95,13 +99,59 @@ let ApiKeyService = ApiKeyService_1 = class ApiKeyService {
|
|
|
95
99
|
return scopes.map((scope) => scope.identifier);
|
|
96
100
|
}
|
|
97
101
|
async effectiveScopes(apiKey) {
|
|
102
|
+
return (await this.effectiveScopeRecords(apiKey)).map((scope) => scope.identifier);
|
|
103
|
+
}
|
|
104
|
+
async effectiveGrant(apiKey) {
|
|
105
|
+
const scopes = await this.effectiveScopeRecords(apiKey);
|
|
106
|
+
const manager = this.dataSource.manager;
|
|
107
|
+
const [hierarchy, roleIds] = await Promise.all([
|
|
108
|
+
role_catalogue_1.RoleCatalogue.load(manager, {
|
|
109
|
+
scopeIds: new Set(scopes.map((scope) => scope.id)),
|
|
110
|
+
withPermissions: true,
|
|
111
|
+
}),
|
|
112
|
+
role_catalogue_1.RoleCatalogue.keyRoleIds(manager, apiKey.id),
|
|
113
|
+
]);
|
|
114
|
+
return {
|
|
115
|
+
scopes: scopes.map((scope) => scope.identifier),
|
|
116
|
+
roles: hierarchy.coveredRoles(roleIds).map((role) => role.identifier),
|
|
117
|
+
permissions: [...hierarchy.permissionsOf(roleIds)].sort(),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async scopeReach(apiKey) {
|
|
121
|
+
return new Set((await this.effectiveScopeRecords(apiKey)).map((scope) => scope.id));
|
|
122
|
+
}
|
|
123
|
+
async effectiveScopeRecords(apiKey) {
|
|
98
124
|
if (!apiKey.tenant_id)
|
|
99
125
|
return [];
|
|
100
126
|
const [granted, principal] = await Promise.all([
|
|
101
|
-
this.
|
|
102
|
-
this.
|
|
127
|
+
this.scopeService.effectiveScopes(await this.grantedScopeRecords(apiKey.id)),
|
|
128
|
+
scope_cascade_1.ScopeCascade.tenantEffective(this.dataSource.manager, apiKey.tenant_id),
|
|
103
129
|
]);
|
|
104
|
-
|
|
130
|
+
const wildcard = String(api_key_default_enum_1.ApiKeyDefault.WILDCARD_SCOPE);
|
|
131
|
+
if (granted.some((scope) => scope.identifier === wildcard))
|
|
132
|
+
return principal;
|
|
133
|
+
const held = new Set(principal.map((scope) => scope.id));
|
|
134
|
+
return granted.filter((scope) => held.has(scope.id));
|
|
135
|
+
}
|
|
136
|
+
async setRoles(apiKeyUuid, roleIds, actorId) {
|
|
137
|
+
const wanted = new Set(roleIds);
|
|
138
|
+
await this.dataSource.transaction(async (trx) => {
|
|
139
|
+
const held = await trx.findBy(api_key_role_entity_1.ApiKeyRoleEntity, {
|
|
140
|
+
api_key_id: apiKeyUuid,
|
|
141
|
+
});
|
|
142
|
+
const heldIds = new Set(held.map((grant) => grant.role_id));
|
|
143
|
+
await scope_cascade_1.ScopeCascade.retireKeyRoles(trx, held
|
|
144
|
+
.filter((grant) => !wanted.has(grant.role_id))
|
|
145
|
+
.map((grant) => grant.id), actorId);
|
|
146
|
+
const added = [...wanted].filter((roleId) => !heldIds.has(roleId));
|
|
147
|
+
if (added.length)
|
|
148
|
+
await trx.save(added.map((role_id) => trx.create(api_key_role_entity_1.ApiKeyRoleEntity, {
|
|
149
|
+
api_key_id: apiKeyUuid,
|
|
150
|
+
role_id,
|
|
151
|
+
...(actorId ? { created_by: actorId } : {}),
|
|
152
|
+
})));
|
|
153
|
+
});
|
|
154
|
+
return [...wanted];
|
|
105
155
|
}
|
|
106
156
|
static intersectScopes(granted, principal) {
|
|
107
157
|
const wildcard = String(api_key_default_enum_1.ApiKeyDefault.WILDCARD_SCOPE);
|
|
@@ -129,21 +179,38 @@ let ApiKeyService = ApiKeyService_1 = class ApiKeyService {
|
|
|
129
179
|
delete apiKey.key_encrypted;
|
|
130
180
|
return Object.assign(apiKey, {
|
|
131
181
|
scopes: await this.grantedScopeRecords(apiKeyUuid),
|
|
182
|
+
roles: await this.grantedRoleRecords(apiKeyUuid),
|
|
132
183
|
...(encrypted ? { key: this.encryptionService.decrypt(encrypted) } : {}),
|
|
133
184
|
});
|
|
134
185
|
}
|
|
135
186
|
async hasScope(apiKey, scope) {
|
|
136
187
|
return ApiKeyService_1.grants(await this.effectiveScopes(apiKey), scope);
|
|
137
188
|
}
|
|
138
|
-
validateAccess(scopeIdentifier) {
|
|
189
|
+
validateAccess(scopeIdentifier, roleIdentifier) {
|
|
190
|
+
const granted = this.contextGrant();
|
|
191
|
+
if (!ApiKeyService_1.grants(granted.scopes, scopeIdentifier))
|
|
192
|
+
throw new access_exception_1.AccessException('This feature is not enabled for this Api key');
|
|
193
|
+
if (roleIdentifier && !granted.roles.includes(roleIdentifier))
|
|
194
|
+
throw new access_exception_1.AccessException(`This Api key requires at least the "${roleIdentifier}" role.`);
|
|
195
|
+
return { tenant: this.contextTenant(granted) };
|
|
196
|
+
}
|
|
197
|
+
validatePermission(...permissions) {
|
|
198
|
+
const granted = this.contextGrant();
|
|
199
|
+
const missing = permissions.find((permission) => !granted.permissions.includes(permission));
|
|
200
|
+
if (missing)
|
|
201
|
+
throw new access_exception_1.AccessException(`This Api key requires the "${missing}" permission.`);
|
|
202
|
+
return { tenant: this.contextTenant(granted) };
|
|
203
|
+
}
|
|
204
|
+
contextGrant() {
|
|
139
205
|
const granted = api_key_context_1.ApiKeyContext.scopes();
|
|
140
206
|
if (!granted)
|
|
141
207
|
throw new common_1.UnauthorizedException('Authentication required: no valid API key on this request.');
|
|
142
|
-
|
|
143
|
-
|
|
208
|
+
return granted;
|
|
209
|
+
}
|
|
210
|
+
contextTenant(granted) {
|
|
144
211
|
if (!granted.tenant)
|
|
145
212
|
throw new access_exception_1.AccessException('This Api key is not bound to an organization.');
|
|
146
|
-
return
|
|
213
|
+
return granted.tenant;
|
|
147
214
|
}
|
|
148
215
|
async revokeApiKey(apiKeyUuid, actorId) {
|
|
149
216
|
const apiKey = await this.apiKeyRepository.findOne({
|
|
@@ -174,6 +241,7 @@ let ApiKeyService = ApiKeyService_1 = class ApiKeyService {
|
|
|
174
241
|
await this.dataSource.transaction(async (trx) => {
|
|
175
242
|
await trx.update(api_key_entity_1.ApiKeyEntity, { id: apiKeyUuid }, { is_active: false, revoked_at: new Date(), updated_by: actorId });
|
|
176
243
|
await trx.softDelete(api_scope_entity_1.ApiScopeEntity, { api_key_id: apiKeyUuid });
|
|
244
|
+
await trx.softDelete(api_key_role_entity_1.ApiKeyRoleEntity, { api_key_id: apiKeyUuid });
|
|
177
245
|
await trx.softDelete(api_key_entity_1.ApiKeyEntity, { id: apiKeyUuid });
|
|
178
246
|
});
|
|
179
247
|
return { id: apiKeyUuid, deleted: true, deleted_by: actorId };
|
|
@@ -190,6 +258,15 @@ let ApiKeyService = ApiKeyService_1 = class ApiKeyService {
|
|
|
190
258
|
.map((apiScope) => apiScope.scope)
|
|
191
259
|
.filter((scope) => !!scope);
|
|
192
260
|
}
|
|
261
|
+
async grantedRoleRecords(apiKeyUuid) {
|
|
262
|
+
const grants = await this.dataSource.getRepository(api_key_role_entity_1.ApiKeyRoleEntity).find({
|
|
263
|
+
where: { api_key_id: apiKeyUuid },
|
|
264
|
+
relations: { role: true },
|
|
265
|
+
});
|
|
266
|
+
return grants
|
|
267
|
+
.map((grant) => grant.role)
|
|
268
|
+
.filter((role) => !!role);
|
|
269
|
+
}
|
|
193
270
|
async touchLastUsed(apiKey) {
|
|
194
271
|
await this.apiKeyRepository.update({ id: apiKey.id }, { last_used_at: new Date() });
|
|
195
272
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.service.js","sourceRoot":"","sources":["../../../src/auth/services/api.key.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA2E;AAC3E,mCAAqC;AACrC,qCAAiD;AACjD,+EAA2E;AAC3E,qFAAgF;AAKhF,iFAA6E;AAC7E,mDAA+C;AAC/C,gEAAwD;AACxD,+DAA0D;AAC1D,mEAA8D;AAE9D,wEAA8D;AAC9D,gEAA2D;AAC3D,0DAAsD;AAmB/C,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAGxB,YACmB,UAAsB,EACtB,iBAAoC,EACpC,YAA0B,EAC1B,MAAkB;QAHlB,eAAU,GAAV,UAAU,CAAY;QACtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAY;QANlB,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAOxD,CAAC;IAEJ,KAAK,CAAC,cAAc,CAClB,IAAY,EACZ,OAA+B;QAE/B,MAAM,MAAM,GAAG,GAAG,oCAAa,CAAC,MAAM,IAAI,IAAA,oBAAW,EAAC,oCAAa,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC3B,IAAI;YACJ,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,oCAAa,CAAC,qBAAqB,CAAC;YAChE,QAAQ,EAAE,gBAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBAC5C,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,CAAC,CAAC,IAAI;YACR,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CACH,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAGzE,OAAQ,MAA4C,CAAC,aAAa,CAAC;QACnE,OAAQ,MAAgC,CAAC,QAAQ,CAAC;QAElD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAOD,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAClC,MAAM,IAAI,kCAAe,CAAC,6BAA6B,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB;aACvC,kBAAkB,CAAC,SAAS,CAAC;aAC7B,SAAS,CAAC,uBAAuB,CAAC;aAClC,KAAK,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;aAC7C,MAAM,EAAE,CAAC;QAEZ,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,uCAAiB,CAAC,+BAA+B,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,aAAa;YACvB,MAAM,IAAI,uCAAiB,CACzB,wDAAwD,CACzD,CAAC;QAEJ,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC;IAGD,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,QAAmB,EACnB,SAAkB;QAElB,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACjC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC7B,UAAU,EAAE,UAAU;YACtB,QAAQ;YACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAMD,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACxC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;YAC/D,OAAO,IAAI,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS;YAAE,OAAO,IAAI,CAAC;QAEhE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CACpE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAMD,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACpD,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAC3C,CAAC;QAEF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAOD,KAAK,CAAC,eAAe,CAAC,MAAoB;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;SACjD,CAAC,CAAC;QACH,OAAO,eAAa,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAGD,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,SAAmB;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,oCAAa,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YACX,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACjC,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,OAAiB,EAAE,KAAa;QAC5C,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,oCAAa,CAAC,cAAc,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CACxB,CAAC;IACJ,CAAC;IAOD,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,MAAM,GAAG,KAAK;QAEd,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB;aAChC,kBAAkB,CAAC,SAAS,CAAC;aAC7B,iBAAiB,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aAC7C,KAAK,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAC3C,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,uCAAiB,CAAC,+BAA+B,CAAC,CAAC;QAE1E,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACvC,OAAQ,MAA4C,CAAC,aAAa,CAAC;QAEnE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,MAAM,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YAGlD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAC,MAAoB,EAAE,KAAa;QAChD,OAAO,eAAa,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IASD,cAAc,CAAC,eAAuB;QACpC,MAAM,OAAO,GAAG,+BAAa,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,8BAAqB,CAC7B,4DAA4D,CAC7D,CAAC;QAEJ,IAAI,CAAC,eAAa,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;YACxD,MAAM,IAAI,kCAAe,CAAC,8CAA8C,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,MAAM;YACjB,MAAM,IAAI,kCAAe,CACvB,+CAA+C,CAChD,CAAC;QAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAAgB;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,uCAAiB,CAAC,YAAY,UAAU,kBAAkB,CAAC,CAAC;QACxE,MAAM,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QACzC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAQD,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,OAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,uCAAiB,CAAC,+BAA+B,CAAC,CAAC;QAE1E,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzC,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAClE,CAAC;IAQD,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,OAAe;QAEf,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7D,MAAM,IAAI,uCAAiB,CAAC,+BAA+B,CAAC,CAAC;QAE/D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9C,MAAM,GAAG,CAAC,MAAM,CACd,6BAAY,EACZ,EAAE,EAAE,EAAE,UAAU,EAAE,EAClB,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAClE,CAAC;YACF,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACjE,MAAM,GAAG,CAAC,UAAU,CAAC,6BAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAGO,KAAK,CAAC,mBAAmB,CAC/B,UAAkB;QAElB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;YACjC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SAC3B,CAAC,CAAC;QAEH,OAAO,SAAS;aACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;aACjC,MAAM,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAoB;QAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAChC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EACjB,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,EAAE,CAC7B,CAAC;IACJ,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,6BAAY,CAAC,CAAC;IACrD,CAAC;IAED,IAAY,kBAAkB;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iCAAc,CAAC,CAAC;IACvD,CAAC;CACF,CAAA;AA3SY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAKoB,oBAAU;QACH,sCAAiB;QACtB,4BAAY;QAClB,wBAAU;GAP1B,aAAa,CA2SzB"}
|
|
1
|
+
{"version":3,"file":"api.key.service.js","sourceRoot":"","sources":["../../../src/auth/services/api.key.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { ScopeService } from './scope.service';
|
|
|
5
5
|
import { TokenService } from './token.service';
|
|
6
6
|
import { AuthenticatedAccess, AuthTokenPair, IssueTokensUser, TokenIssueContext } from '../types/auth.types';
|
|
7
7
|
import { AuthConfig } from '../utilities/auth.config';
|
|
8
|
+
import { EffectiveAccess } from '../types/rbac.types';
|
|
9
|
+
import { GrantAuthority } from '../utilities/grant.authority';
|
|
8
10
|
export declare class AuthService {
|
|
9
11
|
private readonly tokenService;
|
|
10
12
|
private readonly dataSource;
|
|
@@ -14,12 +16,15 @@ export declare class AuthService {
|
|
|
14
16
|
validateRole(roleIdentifier?: string): Promise<AuthenticatedAccess>;
|
|
15
17
|
validateIdentity(): Promise<AuthenticatedAccess>;
|
|
16
18
|
private resolveAccess;
|
|
19
|
+
validatePermission(...permissions: string[]): Promise<AuthenticatedAccess>;
|
|
20
|
+
validateGrantAuthority(): Promise<AuthenticatedAccess & {
|
|
21
|
+
authority: GrantAuthority;
|
|
22
|
+
}>;
|
|
23
|
+
grantAuthorityOf(user: UserEntity): Promise<GrantAuthority>;
|
|
24
|
+
effectiveAccess(user: UserEntity): Promise<EffectiveAccess>;
|
|
25
|
+
private sessionUser;
|
|
26
|
+
private effectiveRoles;
|
|
17
27
|
tenantRoles(userId: string, tenantId: string | null | undefined): Promise<SystemRoleEntity[]>;
|
|
18
|
-
private satisfiesRole;
|
|
19
|
-
private holdsGlobalAdmin;
|
|
20
|
-
private tierOf;
|
|
21
|
-
private moduleOf;
|
|
22
|
-
private rankOf;
|
|
23
28
|
private impersonationYieldsRole;
|
|
24
29
|
assertTenantLogin(user: UserEntity): void;
|
|
25
30
|
validateAccess(scopeIdentifier: string, roleIdentifier?: string): Promise<AuthenticatedAccess>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAI9D,qBACa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,UAAU;IAiB/B,YAAY,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAcnE,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAIxC,aAAa;IA2BrB,kBAAkB,CACtB,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,mBAAmB,CAAC;IA8BzB,sBAAsB,IAAI,OAAO,CACrC,mBAAmB,GAAG;QAAE,SAAS,EAAE,cAAc,CAAA;KAAE,CACpD;IAWK,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAc3D,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;IAYjE,OAAO,CAAC,WAAW;YAUL,cAAc;IAYtB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAqB9B,OAAO,CAAC,uBAAuB;IAQ/B,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAqBnC,cAAc,CAClB,eAAe,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAyBzB,mBAAmB,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IA6BtB,OAAO,CAAC,sBAAsB;IAQxB,WAAW,CACf,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC;IAenB,gBAAgB,CACpB,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,UAAU,SAA2C,GACpD,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;IAWhD,OAAO,CACX,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,aAAa,CAAC;YAwBX,eAAe;IAsBvB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAatE,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAexD"}
|