@7365admin1/core 3.64.0 → 3.64.1
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/CHANGELOG.md +15 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/test/role-scope.test.mjs +26 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @iservice365/core
|
|
2
2
|
|
|
3
|
+
## 3.64.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 1d856a3: Stop `/api/roles/v2` minting a role that holds the console's own resources.
|
|
8
|
+
|
|
9
|
+
`role.controller createRole` has carried `requireNoPlatformGrant` for a while;
|
|
10
|
+
`role-v2.controller createRole` did not. It is a separate controller behind a
|
|
11
|
+
separate route and accepts any permission string, so the hole was reachable by
|
|
12
|
+
adding `/v2` to the URL.
|
|
13
|
+
|
|
14
|
+
Measured on production before adding: no site-scoped role holds a platform-only
|
|
15
|
+
string, and this mount requires a `site`, so the check refuses nothing that
|
|
16
|
+
exists today. It only ever refuses a NEW grant regardless.
|
|
17
|
+
|
|
3
18
|
## 3.64.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/dist/index.js
CHANGED
|
@@ -88415,6 +88415,10 @@ function useRoleControllerV2() {
|
|
|
88415
88415
|
if (value.org) {
|
|
88416
88416
|
await requireOrgReach(req, value.org);
|
|
88417
88417
|
}
|
|
88418
|
+
requireNoPlatformGrant(
|
|
88419
|
+
{ type: value.type, org: value.org, permissions: [] },
|
|
88420
|
+
value.permissions
|
|
88421
|
+
);
|
|
88418
88422
|
requireWithinModules(
|
|
88419
88423
|
await moduleCeiling(value.org, value.site),
|
|
88420
88424
|
value.permissions
|