@proteinjs/user-server 1.11.1 → 1.13.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/CHANGELOG.md +32 -0
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +3 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/src/authorization/UserActivityStamp.d.ts +32 -0
- package/dist/src/authorization/UserActivityStamp.d.ts.map +1 -0
- package/dist/src/authorization/UserActivityStamp.js +126 -0
- package/dist/src/authorization/UserActivityStamp.js.map +1 -0
- package/dist/src/authorization/userCache.d.ts.map +1 -1
- package/dist/src/authorization/userCache.js +9 -0
- package/dist/src/authorization/userCache.js.map +1 -1
- package/dist/src/migrations/SweepMalformedAccessGrants.d.ts +76 -0
- package/dist/src/migrations/SweepMalformedAccessGrants.d.ts.map +1 -0
- package/dist/src/migrations/SweepMalformedAccessGrants.js +354 -0
- package/dist/src/migrations/SweepMalformedAccessGrants.js.map +1 -0
- package/dist/src/routes/devLogin.d.ts +5 -0
- package/dist/src/routes/devLogin.d.ts.map +1 -1
- package/dist/src/routes/devLogin.js +13 -0
- package/dist/src/routes/devLogin.js.map +1 -1
- package/dist/src/services/Roles.d.ts +2 -0
- package/dist/src/services/Roles.d.ts.map +1 -1
- package/dist/src/services/Roles.js +22 -2
- package/dist/src/services/Roles.js.map +1 -1
- package/dist/test/DevLogin.test.js +41 -0
- package/dist/test/DevLogin.test.js.map +1 -1
- package/dist/test/MachineAccounts.integration.test.js +91 -7
- package/dist/test/MachineAccounts.integration.test.js.map +1 -1
- package/dist/test/Roles.integration.test.js +141 -2
- package/dist/test/Roles.integration.test.js.map +1 -1
- package/dist/test/SweepMalformedAccessGrants.integration.test.d.ts +2 -0
- package/dist/test/SweepMalformedAccessGrants.integration.test.d.ts.map +1 -0
- package/dist/test/SweepMalformedAccessGrants.integration.test.js +424 -0
- package/dist/test/SweepMalformedAccessGrants.integration.test.js.map +1 -0
- package/dist/test/UserActivityStamp.integration.test.d.ts +2 -0
- package/dist/test/UserActivityStamp.integration.test.d.ts.map +1 -0
- package/dist/test/UserActivityStamp.integration.test.js +255 -0
- package/dist/test/UserActivityStamp.integration.test.js.map +1 -0
- package/generated/index.ts +3 -1
- package/package.json +4 -3
- package/src/authorization/UserActivityStamp.ts +66 -0
- package/src/authorization/userCache.ts +9 -0
- package/src/migrations/SweepMalformedAccessGrants.ts +229 -0
- package/src/routes/devLogin.ts +15 -0
- package/src/services/Roles.ts +28 -2
- package/test/DevLogin.test.ts +26 -0
- package/test/MachineAccounts.integration.test.ts +76 -33
- package/test/Roles.integration.test.ts +67 -2
- package/test/SweepMalformedAccessGrants.integration.test.ts +255 -0
- package/test/UserActivityStamp.integration.test.ts +122 -0
|
@@ -38,6 +38,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.devLogin = void 0;
|
|
40
40
|
var logger_1 = require("@proteinjs/logger");
|
|
41
|
+
var util_1 = require("@proteinjs/util");
|
|
41
42
|
var establishSession_1 = require("../authentication/establishSession");
|
|
42
43
|
var Signup_1 = require("../services/Signup");
|
|
43
44
|
var logger = new logger_1.Logger({ name: 'devLogin' });
|
|
@@ -58,6 +59,11 @@ var emailDomain = function (address) { return address.slice(address.lastIndexOf(
|
|
|
58
59
|
* Domain rail: `?email` must share `DEV_AUTO_LOGIN_EMAIL`'s domain — even a dev server must not
|
|
59
60
|
* mint sessions (much less accounts) for arbitrary domains; anything else answers 400.
|
|
60
61
|
*
|
|
62
|
+
* Shape rail: `?email` must be a well-formed address (the house `emailRegex`). The domain rail
|
|
63
|
+
* alone let `?email=brent+lane-a@…` through when the `+` was left unencoded — a query-string `+`
|
|
64
|
+
* decodes to a SPACE, so the route minted a stray `brent lane-a@…` account. The 400 names the
|
|
65
|
+
* remedy (`%2B`) because plus-addressing is the fan-out convention this door exists for.
|
|
66
|
+
*
|
|
61
67
|
* A missing account is created through the normal signup creation path (`Signup.createAccount`)
|
|
62
68
|
* as a normal test user — password `test`, matching the seeded test-account convention, so
|
|
63
69
|
* interactive login works for the same identity. Composes with userCache's missing-account→guest
|
|
@@ -86,6 +92,13 @@ exports.devLogin = {
|
|
|
86
92
|
response.status(400).send("/dev/login only accepts accounts on the @".concat(emailDomain(envEmail), " domain"));
|
|
87
93
|
return [2 /*return*/];
|
|
88
94
|
}
|
|
95
|
+
if (!util_1.emailRegex.test(requested)) {
|
|
96
|
+
response
|
|
97
|
+
.status(400)
|
|
98
|
+
.send("/dev/login: \"".concat(requested, "\" is not a valid email address \u2014 an unencoded \"+\" in the query ") +
|
|
99
|
+
"decodes to a space; write it as %2B (e.g. ?email=name%2Blane@".concat(emailDomain(envEmail), ")"));
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
}
|
|
89
102
|
email = requested;
|
|
90
103
|
}
|
|
91
104
|
email = email.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devLogin.js","sourceRoot":"","sources":["../../../src/routes/devLogin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA2C;AAC3C,uEAAsE;AACtE,6CAA4C;AAE5C,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAEhD;kFACkF;AAClF,IAAM,WAAW,GAAG,UAAC,OAAe,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAzD,CAAyD,CAAC;AAEnG
|
|
1
|
+
{"version":3,"file":"devLogin.js","sourceRoot":"","sources":["../../../src/routes/devLogin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA2C;AAC3C,wCAA6C;AAC7C,uEAAsE;AACtE,6CAA4C;AAE5C,IAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAEhD;kFACkF;AAClF,IAAM,WAAW,GAAG,UAAC,OAAe,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAzD,CAAyD,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,QAAQ,GAAU;IAC7B,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,KAAK;IACb,SAAS,EAAE,UAAO,OAAY,EAAE,QAAQ;;;;;;oBAChC,QAAQ,GAAG,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE;wBACzC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC5B,sBAAO;qBACR;oBAEG,KAAK,GAAG,QAAQ,CAAC;oBACf,UAAU,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,KAAK,CAAC;oBACxC,IAAI,UAAU,KAAK,SAAS,EAAE;wBACtB,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1E,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,QAAQ,CAAC,EAAE;4BACpD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,mDAA4C,WAAW,CAAC,QAAQ,CAAC,YAAS,CAAC,CAAC;4BACtG,sBAAO;yBACR;wBACD,IAAI,CAAC,iBAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;4BAC/B,QAAQ;iCACL,MAAM,CAAC,GAAG,CAAC;iCACX,IAAI,CACH,wBAAgB,SAAS,4EAAiE;gCACxF,uEAAgE,WAAW,CAAC,QAAQ,CAAC,MAAG,CAC3F,CAAC;4BACJ,sBAAO;yBACR;wBACD,KAAK,GAAG,SAAS,CAAC;qBACnB;oBACD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;oBAEX,qBAAM,IAAI,eAAM,EAAE,CAAC,aAAa,CAAC;4BAChD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;4BACxC,KAAK,OAAA;4BACL,QAAQ,EAAE,MAAM;4BAChB,aAAa,EAAE,KAAK;4BACpB,SAAS,EAAE,IAAI;yBAChB,CAAC,EAAA;;oBANI,QAAQ,GAAG,SAMf;oBACF,IAAI,QAAQ,KAAK,SAAS,EAAE;wBAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,6CAA6C,EAAE,GAAG,EAAE,EAAE,KAAK,OAAA,EAAE,EAAE,CAAC,CAAC;qBACzF;oBAED,2FAA2F;oBAC3F,8FAA8F;oBAC9F,qBAAM,IAAA,mCAAgB,EAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;oBAFtC,2FAA2F;oBAC3F,8FAA8F;oBAC9F,SAAsC,CAAC;oBACvC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,GAAG,EAAE,EAAE,KAAK,OAAA,EAAE,EAAE,CAAC,CAAC;oBAC/E,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;;;;SACxB;CACF,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { Service } from '@proteinjs/service';
|
|
|
5
5
|
* record writes cannot touch it). Grants and revokes are validated against the roles catalog and
|
|
6
6
|
* audited: the role update and its `role_grant_event` row (actor, target, role, action; `created`
|
|
7
7
|
* is the timestamp) commit in one transaction, so the trail cannot diverge from the grants.
|
|
8
|
+
*
|
|
9
|
+
* Break-glass roles are never granted here — see `changeRole`; revoking one stays allowed.
|
|
8
10
|
*/
|
|
9
11
|
export declare class Roles implements RolesService {
|
|
10
12
|
serviceMetadata: Service['serviceMetadata'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Roles.d.ts","sourceRoot":"","sources":["../../../src/services/Roles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"Roles.d.ts","sourceRoot":"","sources":["../../../src/services/Roles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA8D,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;;;GAOG;AACH,qBAAa,KAAM,YAAW,YAAY;IACjC,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAIhD;IAEI,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAI/C,UAAU;CAoEzB"}
|
|
@@ -54,6 +54,8 @@ var logger_1 = require("@proteinjs/logger");
|
|
|
54
54
|
* record writes cannot touch it). Grants and revokes are validated against the roles catalog and
|
|
55
55
|
* audited: the role update and its `role_grant_event` row (actor, target, role, action; `created`
|
|
56
56
|
* is the timestamp) commit in one transaction, so the trail cannot diverge from the grants.
|
|
57
|
+
*
|
|
58
|
+
* Break-glass roles are never granted here — see `changeRole`; revoking one stays allowed.
|
|
57
59
|
*/
|
|
58
60
|
var Roles = /** @class */ (function () {
|
|
59
61
|
function Roles() {
|
|
@@ -90,15 +92,33 @@ var Roles = /** @class */ (function () {
|
|
|
90
92
|
Roles.prototype.changeRole = function (userId, role, action) {
|
|
91
93
|
var _a;
|
|
92
94
|
return __awaiter(this, void 0, void 0, function () {
|
|
93
|
-
var logger, db, user, roles, newRoles, actor;
|
|
95
|
+
var logger, entry, db, user, roles, newRoles, actor;
|
|
94
96
|
var _this = this;
|
|
95
97
|
return __generator(this, function (_b) {
|
|
96
98
|
switch (_b.label) {
|
|
97
99
|
case 0:
|
|
98
100
|
logger = new logger_1.Logger({ name: "Roles.".concat(action, "Role") });
|
|
99
|
-
|
|
101
|
+
entry = user_1.RolesCatalog.getEntry(role);
|
|
102
|
+
if (!entry) {
|
|
100
103
|
throw new Error("'".concat(role, "' is not a known role. Pick one from the roles catalog."));
|
|
101
104
|
}
|
|
105
|
+
// Break-glass passes every permission check, so no permission-mapped role — including
|
|
106
|
+
// 'roles' — may mint it: the only path to break-glass is a manual UPDATE on the user row
|
|
107
|
+
// in Spanner Studio, by a human, on purpose. Revoke stays open: de-escalation toward
|
|
108
|
+
// "held by nobody day-to-day" should ride the audited path, not require database access.
|
|
109
|
+
if (entry.breakGlass && action === 'grant') {
|
|
110
|
+
throw new Error("'".concat(role, "' is a break-glass role \u2014 this service refuses to grant it. The only path to ") +
|
|
111
|
+
"break-glass is a manual UPDATE on the user row in Spanner Studio. (Revoking it here " +
|
|
112
|
+
"stays allowed.)");
|
|
113
|
+
}
|
|
114
|
+
// Admin-grant-only roles (catalog `adminGrantOnly`) exceed the people-management trust the
|
|
115
|
+
// 'roles' permission carries — only an admin may hand them out. Server-side and fail-closed:
|
|
116
|
+
// the service door admits 'roles' holders, so this check is what keeps a user-admin from
|
|
117
|
+
// granting such a role. Revoke stays open — the break-glass de-escalation precedent above.
|
|
118
|
+
if (entry.adminGrantOnly && action === 'grant' && !user_1.UserAuth.hasRole('admin')) {
|
|
119
|
+
throw new Error("'".concat(role, "' can only be granted by an admin \u2014 the 'roles' grant does not cover it. ") +
|
|
120
|
+
"(Revoking it here stays allowed.)");
|
|
121
|
+
}
|
|
102
122
|
db = (0, db_1.getDbAsSystem)();
|
|
103
123
|
return [4 /*yield*/, db.get(user_1.tables.User, { id: userId })];
|
|
104
124
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Roles.js","sourceRoot":"","sources":["../../../src/services/Roles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"Roles.js","sourceRoot":"","sources":["../../../src/services/Roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,6 +215,47 @@ describe('devLogin route', function () {
|
|
|
215
215
|
}
|
|
216
216
|
});
|
|
217
217
|
}); });
|
|
218
|
+
it('rejects a malformed same-domain ?email with 400 — no session, no stray account', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
219
|
+
var malformed, outcome, _a;
|
|
220
|
+
return __generator(this, function (_b) {
|
|
221
|
+
switch (_b.label) {
|
|
222
|
+
case 0:
|
|
223
|
+
malformed = 'brent shareproof-a@test.local';
|
|
224
|
+
return [4 /*yield*/, invokeDevLogin({ email: malformed })];
|
|
225
|
+
case 1:
|
|
226
|
+
outcome = _b.sent();
|
|
227
|
+
expect(outcome.status).toBe(400);
|
|
228
|
+
expect(String(outcome.body)).toMatch(/not a valid email/i);
|
|
229
|
+
expect(String(outcome.body)).toMatch(/%2B/); // the remedy: percent-encode the `+`
|
|
230
|
+
expect(outcome.loggedInAs).toBeUndefined();
|
|
231
|
+
expect(outcome.sessionSaved).toBe(false);
|
|
232
|
+
expect(outcome.redirect).toBeUndefined();
|
|
233
|
+
_a = expect;
|
|
234
|
+
return [4 /*yield*/, getUserRow(malformed)];
|
|
235
|
+
case 2:
|
|
236
|
+
_a.apply(void 0, [_b.sent()]).toBeUndefined();
|
|
237
|
+
return [2 /*return*/];
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}); });
|
|
241
|
+
it('still accepts a plus-addressed ?email once it is encoded (the fan-out convention)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
242
|
+
var outcome, _a;
|
|
243
|
+
return __generator(this, function (_b) {
|
|
244
|
+
switch (_b.label) {
|
|
245
|
+
case 0: return [4 /*yield*/, invokeDevLogin({ email: 'agent6+lane-a@test.local' })];
|
|
246
|
+
case 1:
|
|
247
|
+
outcome = _b.sent();
|
|
248
|
+
expect(outcome.loggedInAs).toBe('agent6+lane-a@test.local');
|
|
249
|
+
expect(outcome.sessionSaved).toBe(true);
|
|
250
|
+
expect(outcome.redirect).toBe('/');
|
|
251
|
+
_a = expect;
|
|
252
|
+
return [4 /*yield*/, getUserRow('agent6+lane-a@test.local')];
|
|
253
|
+
case 2:
|
|
254
|
+
_a.apply(void 0, [_b.sent()]).toBeDefined();
|
|
255
|
+
return [2 /*return*/];
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
}); });
|
|
218
259
|
it('404s when DEVELOPMENT is unset, even with a ?email', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
219
260
|
var outcome, _a;
|
|
220
261
|
return __generator(this, function (_b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevLogin.test.js","sourceRoot":"","sources":["../../test/DevLogin.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevLogin.test.js","sourceRoot":"","sources":["../../test/DevLogin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -275,12 +275,7 @@ describe('Machine accounts as source records', function () {
|
|
|
275
275
|
}
|
|
276
276
|
});
|
|
277
277
|
}); });
|
|
278
|
-
|
|
279
|
-
// marker's removal): the re-declare-after-removal leg needs db's soft-removal re-adoption
|
|
280
|
-
// (integration/r5-db ba9f4ba7 — the sync currently INSERTs the existing machine-test-ops row
|
|
281
|
-
// instead of adopting it). Green everywhere else against db ^1.35.0; this leg lands with the
|
|
282
|
-
// R5 db mint. Exact repro + the semantics call recorded on this suite's landing commit.
|
|
283
|
-
it.failing('removed from source: deactivated (never deleted), sessions killed, login refused; re-declaring reactivates', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
278
|
+
it('removed from source: deactivated (never deleted), sessions killed, login refused; re-declaring reactivates', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
284
279
|
var human, SurvivingSibling, removed, _a, _b, _c, _d;
|
|
285
280
|
return __generator(this, function (_e) {
|
|
286
281
|
switch (_e.label) {
|
|
@@ -303,10 +298,13 @@ describe('Machine accounts as source records', function () {
|
|
|
303
298
|
// package must never deactivate that package's rows). The real removal case is the package
|
|
304
299
|
// still booting with THIS declaration gone — modeled by keeping another declaration from
|
|
305
300
|
// the same package aboard. boot([]) would model "package vanished", which the law protects.
|
|
301
|
+
// The sibling is a DISTINCT account (its own declared id): re-using the stable id under a
|
|
302
|
+
// new email is the rename-adopt case, pinned by the next test.
|
|
306
303
|
function SurvivingSibling() {
|
|
307
304
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
305
|
+
_this.id = 'machine-sibling';
|
|
308
306
|
_this.email = 'machine-sibling@test.local';
|
|
309
|
-
_this.
|
|
307
|
+
_this.accountName = 'Surviving sibling machine';
|
|
310
308
|
_this.secretName = 'sibling-secret';
|
|
311
309
|
return _this;
|
|
312
310
|
}
|
|
@@ -352,6 +350,92 @@ describe('Machine accounts as source records', function () {
|
|
|
352
350
|
}
|
|
353
351
|
});
|
|
354
352
|
}); });
|
|
353
|
+
// KNOWN CROSS-TRAIN GAP, RESTORED at the v1.20 early landing (it.failing — flips RED the
|
|
354
|
+
// moment it starts passing, forcing the marker's removal): this leg needs db's soft-removal
|
|
355
|
+
// re-adoption (integration/r5-db ba9f4ba7 — the sync currently INSERTs the existing
|
|
356
|
+
// machine-test-ops row instead of adopting it), which is NOT in the published db line
|
|
357
|
+
// (verified absent from db main at 1.38.0). The r5-user composition retired main's original
|
|
358
|
+
// marker BY DESIGN for the composed R5 world (dab44a0); landing the user leg ahead of the
|
|
359
|
+
// R5 db mint re-opens the gap, so the marker returns until that mint lands and self-flips it.
|
|
360
|
+
it.failing('re-declared under a renamed email: the soft-removed row is adopted by its stable id — reactivated, re-derived from the declaration, credential preserved', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
361
|
+
var RenamedOps, _a, _b, adopted, _c, _d;
|
|
362
|
+
return __generator(this, function (_e) {
|
|
363
|
+
switch (_e.label) {
|
|
364
|
+
case 0:
|
|
365
|
+
// The user table SOFT-removes (deactivate, never delete — rows carry grants/history), so a
|
|
366
|
+
// re-declaration whose email no longer matches the kept row (an account rename, or any
|
|
367
|
+
// re-declare-after-removal under a changed natural key) must adopt the row by its stable
|
|
368
|
+
// declared id instead of INSERTing into a PK collision.
|
|
369
|
+
return [4 /*yield*/, boot([new TestOpsMachineAccount()])];
|
|
370
|
+
case 1:
|
|
371
|
+
// The user table SOFT-removes (deactivate, never delete — rows carry grants/history), so a
|
|
372
|
+
// re-declaration whose email no longer matches the kept row (an account rename, or any
|
|
373
|
+
// re-declare-after-removal under a changed natural key) must adopt the row by its stable
|
|
374
|
+
// declared id instead of INSERTing into a PK collision.
|
|
375
|
+
_e.sent();
|
|
376
|
+
// Runtime-owned credential on the row, plus role drift the re-derivation must NOT resurrect.
|
|
377
|
+
return [4 /*yield*/, (0, db_1.getDbAsSystem)().update(user_1.tables.User, {
|
|
378
|
+
id: 'machine-test-ops',
|
|
379
|
+
password: (0, sha256_1.default)('cred').toString(),
|
|
380
|
+
roles: ['ops', 'stale-role'],
|
|
381
|
+
})];
|
|
382
|
+
case 2:
|
|
383
|
+
// Runtime-owned credential on the row, plus role drift the re-derivation must NOT resurrect.
|
|
384
|
+
_e.sent();
|
|
385
|
+
return [4 /*yield*/, insertSession('machine-session', 'machine-ops@test.local')];
|
|
386
|
+
case 3:
|
|
387
|
+
_e.sent();
|
|
388
|
+
RenamedOps = /** @class */ (function (_super) {
|
|
389
|
+
__extends(RenamedOps, _super);
|
|
390
|
+
function RenamedOps() {
|
|
391
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
392
|
+
_this.email = 'machine-ops-renamed@test.local';
|
|
393
|
+
return _this;
|
|
394
|
+
}
|
|
395
|
+
return RenamedOps;
|
|
396
|
+
}(TestOpsMachineAccount));
|
|
397
|
+
return [4 /*yield*/, boot([new RenamedOps()])];
|
|
398
|
+
case 4:
|
|
399
|
+
_e.sent();
|
|
400
|
+
// One row, adopted in place: id kept (references + credential survive), email re-derived,
|
|
401
|
+
// reactivated, grants exactly the declaration's (no resurrection of stale grants).
|
|
402
|
+
_a = expect;
|
|
403
|
+
return [4 /*yield*/, (0, db_1.getDbAsSystem)().query(user_1.tables.User, {})];
|
|
404
|
+
case 5:
|
|
405
|
+
// One row, adopted in place: id kept (references + credential survive), email re-derived,
|
|
406
|
+
// reactivated, grants exactly the declaration's (no resurrection of stale grants).
|
|
407
|
+
_a.apply(void 0, [_e.sent()]).toHaveLength(1);
|
|
408
|
+
_b = expect;
|
|
409
|
+
return [4 /*yield*/, (0, db_1.getDbAsSystem)().get(user_1.tables.User, { email: 'machine-ops@test.local' })];
|
|
410
|
+
case 6:
|
|
411
|
+
_b.apply(void 0, [_e.sent()]).toBeUndefined();
|
|
412
|
+
return [4 /*yield*/, (0, db_1.getDbAsSystem)().get(user_1.tables.User, { email: 'machine-ops-renamed@test.local' })];
|
|
413
|
+
case 7:
|
|
414
|
+
adopted = _e.sent();
|
|
415
|
+
expect(adopted).toMatchObject({
|
|
416
|
+
id: 'machine-test-ops',
|
|
417
|
+
name: 'Test ops machine',
|
|
418
|
+
roles: ['ops'],
|
|
419
|
+
status: 'active',
|
|
420
|
+
isLoadedFromSource: true,
|
|
421
|
+
});
|
|
422
|
+
expect(adopted.password).toBe((0, sha256_1.default)('cred').toString());
|
|
423
|
+
// The rename transited the removal patch: the categorical watcher killed the old sessions...
|
|
424
|
+
_c = expect;
|
|
425
|
+
return [4 /*yield*/, sessionEmails()];
|
|
426
|
+
case 8:
|
|
427
|
+
// The rename transited the removal patch: the categorical watcher killed the old sessions...
|
|
428
|
+
_c.apply(void 0, [_e.sent()]).toEqual([]);
|
|
429
|
+
// ...and the surviving credential logs in under the new email.
|
|
430
|
+
_d = expect;
|
|
431
|
+
return [4 /*yield*/, (0, authenticate_1.authenticate)('machine-ops-renamed@test.local', 'cred')];
|
|
432
|
+
case 9:
|
|
433
|
+
// ...and the surviving credential logs in under the new email.
|
|
434
|
+
_d.apply(void 0, [_e.sent()]).toBe(true);
|
|
435
|
+
return [2 /*return*/];
|
|
436
|
+
}
|
|
437
|
+
});
|
|
438
|
+
}); });
|
|
355
439
|
it("the staff toggle rides the same watcher: SetUserStatus deactivation kills the target's sessions", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
356
440
|
var admin, target, _a;
|
|
357
441
|
return __generator(this, function (_b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MachineAccounts.integration.test.js","sourceRoot":"","sources":["../../test/MachineAccounts.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MachineAccounts.integration.test.js","sourceRoot":"","sources":["../../test/MachineAccounts.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -114,7 +114,14 @@ describe('Roles service — grant/revoke outcomes and audit trail', function ()
|
|
|
114
114
|
];
|
|
115
115
|
reflection_1.SourceRepository.get().objectCache['@proteinjs/user/RoleCatalogEntry'] = [
|
|
116
116
|
{ role: 'ops', description: 'Run the ops cockpit' },
|
|
117
|
+
{ role: 'dev', description: 'Drive the dev tooling' },
|
|
118
|
+
// Admin-grant-only entry (the consumer compliance-grant shape): granting requires the
|
|
119
|
+
// caller to BE an admin; the ordinary 'roles' grant does not cover it.
|
|
120
|
+
{ role: 'data-access', description: 'Compliance decrypt grant', adminGrantOnly: true },
|
|
117
121
|
];
|
|
122
|
+
// The admin-grant-only check resolves the CALLER through UserAuth — same session-backed
|
|
123
|
+
// repo the services use.
|
|
124
|
+
reflection_1.SourceRepository.get().objectCache['@proteinjs/user-auth/AuthenticatedUserRepo'] = [new user_1.UserRepo()];
|
|
118
125
|
jest.spyOn(db_1.Db, 'getDefaultDbDriver').mockImplementation(function () { return spannerDriver; });
|
|
119
126
|
return [4 /*yield*/, test_1.SpannerEmulatorProvisioner.ensureProvisioned({
|
|
120
127
|
projectId: 'proteinjs-test',
|
|
@@ -257,7 +264,7 @@ describe('Roles service — grant/revoke outcomes and audit trail', function ()
|
|
|
257
264
|
return [4 /*yield*/, roles.grantRole(targetId, 'ops')];
|
|
258
265
|
case 1:
|
|
259
266
|
_b.sent();
|
|
260
|
-
return [4 /*yield*/, roles.grantRole(targetId, '
|
|
267
|
+
return [4 /*yield*/, roles.grantRole(targetId, 'dev')];
|
|
261
268
|
case 2:
|
|
262
269
|
_b.sent();
|
|
263
270
|
return [4 /*yield*/, roles.revokeRole(targetId, 'ops')];
|
|
@@ -266,7 +273,7 @@ describe('Roles service — grant/revoke outcomes and audit trail', function ()
|
|
|
266
273
|
_a = expect;
|
|
267
274
|
return [4 /*yield*/, targetRoles()];
|
|
268
275
|
case 4:
|
|
269
|
-
_a.apply(void 0, [_b.sent()]).toEqual(['
|
|
276
|
+
_a.apply(void 0, [_b.sent()]).toEqual(['dev']);
|
|
270
277
|
return [4 /*yield*/, auditRows()];
|
|
271
278
|
case 5:
|
|
272
279
|
events = _b.sent();
|
|
@@ -277,6 +284,58 @@ describe('Roles service — grant/revoke outcomes and audit trail', function ()
|
|
|
277
284
|
}
|
|
278
285
|
});
|
|
279
286
|
}); }, 60000);
|
|
287
|
+
it('refuses to grant the break-glass role, and writes nothing — the only path to admin is a manual UPDATE in Spanner Studio', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
288
|
+
var _a, _b;
|
|
289
|
+
return __generator(this, function (_c) {
|
|
290
|
+
switch (_c.label) {
|
|
291
|
+
case 0:
|
|
292
|
+
// The error teaches: names break-glass, refuses the grant, and points at the one real path.
|
|
293
|
+
return [4 /*yield*/, expect(new Roles_1.Roles().grantRole(targetId, 'admin')).rejects.toThrow(/break-glass role — this service refuses to grant it.*manual UPDATE on the user row in Spanner Studio/)];
|
|
294
|
+
case 1:
|
|
295
|
+
// The error teaches: names break-glass, refuses the grant, and points at the one real path.
|
|
296
|
+
_c.sent();
|
|
297
|
+
// A refusal is not a role change: no user write, no audit row (the trail records what
|
|
298
|
+
// happened, and nothing happened).
|
|
299
|
+
_a = expect;
|
|
300
|
+
return [4 /*yield*/, targetRoles()];
|
|
301
|
+
case 2:
|
|
302
|
+
// A refusal is not a role change: no user write, no audit row (the trail records what
|
|
303
|
+
// happened, and nothing happened).
|
|
304
|
+
_a.apply(void 0, [_c.sent()]).toEqual([]);
|
|
305
|
+
_b = expect;
|
|
306
|
+
return [4 /*yield*/, auditRows()];
|
|
307
|
+
case 3:
|
|
308
|
+
_b.apply(void 0, [_c.sent()]).toHaveLength(0);
|
|
309
|
+
return [2 /*return*/];
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
}); }, 60000);
|
|
313
|
+
it('revokes the break-glass role — de-escalation through the audited path stays available', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
314
|
+
var _a, events;
|
|
315
|
+
return __generator(this, function (_b) {
|
|
316
|
+
switch (_b.label) {
|
|
317
|
+
case 0:
|
|
318
|
+
// Admin arrives only via the manual database path; mirror that here with a system write.
|
|
319
|
+
return [4 /*yield*/, (0, db_1.getDbAsSystem)().update(user_1.tables.User, { id: targetId, roles: ['admin'] })];
|
|
320
|
+
case 1:
|
|
321
|
+
// Admin arrives only via the manual database path; mirror that here with a system write.
|
|
322
|
+
_b.sent();
|
|
323
|
+
return [4 /*yield*/, new Roles_1.Roles().revokeRole(targetId, 'admin')];
|
|
324
|
+
case 2:
|
|
325
|
+
_b.sent();
|
|
326
|
+
_a = expect;
|
|
327
|
+
return [4 /*yield*/, targetRoles()];
|
|
328
|
+
case 3:
|
|
329
|
+
_a.apply(void 0, [_b.sent()]).toEqual([]);
|
|
330
|
+
return [4 /*yield*/, auditRows()];
|
|
331
|
+
case 4:
|
|
332
|
+
events = _b.sent();
|
|
333
|
+
expect(events).toHaveLength(1);
|
|
334
|
+
expect(events[0]).toMatchObject({ actor: 'actor-1', target: targetId, role: 'admin', action: 'revoke' });
|
|
335
|
+
return [2 /*return*/];
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
}); }, 60000);
|
|
280
339
|
it('revoking a role the user does not hold changes nothing and writes no audit row', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
281
340
|
var _a, _b;
|
|
282
341
|
return __generator(this, function (_c) {
|
|
@@ -330,5 +389,85 @@ describe('Roles service — grant/revoke outcomes and audit trail', function ()
|
|
|
330
389
|
}
|
|
331
390
|
});
|
|
332
391
|
}); }, 60000);
|
|
392
|
+
it('refuses to grant an admin-grant-only role when the caller is not an admin — and writes nothing', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
393
|
+
var _a, _b;
|
|
394
|
+
return __generator(this, function (_c) {
|
|
395
|
+
switch (_c.label) {
|
|
396
|
+
case 0:
|
|
397
|
+
// A user-admin's full day-to-day grant set — pointedly including 'roles' (the door this
|
|
398
|
+
// service sits behind) — must NOT be able to hand out an admin-grant-only role.
|
|
399
|
+
new user_1.UserRepo().setUser(__assign(__assign({}, actor), { roles: ['users', 'roles', 'sessions'] }));
|
|
400
|
+
_c.label = 1;
|
|
401
|
+
case 1:
|
|
402
|
+
_c.trys.push([1, , 5, 6]);
|
|
403
|
+
return [4 /*yield*/, expect(new Roles_1.Roles().grantRole(targetId, 'data-access')).rejects.toThrow(/can only be granted by an admin/)];
|
|
404
|
+
case 2:
|
|
405
|
+
_c.sent();
|
|
406
|
+
_a = expect;
|
|
407
|
+
return [4 /*yield*/, targetRoles()];
|
|
408
|
+
case 3:
|
|
409
|
+
_a.apply(void 0, [_c.sent()]).toEqual([]);
|
|
410
|
+
_b = expect;
|
|
411
|
+
return [4 /*yield*/, auditRows()];
|
|
412
|
+
case 4:
|
|
413
|
+
_b.apply(void 0, [_c.sent()]).toHaveLength(0);
|
|
414
|
+
return [3 /*break*/, 6];
|
|
415
|
+
case 5:
|
|
416
|
+
new user_1.UserRepo().setUser(actor);
|
|
417
|
+
return [7 /*endfinally*/];
|
|
418
|
+
case 6: return [2 /*return*/];
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
}); }, 60000);
|
|
422
|
+
it('grants an admin-grant-only role when the caller IS an admin, audited like any grant', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
423
|
+
var _a, events;
|
|
424
|
+
return __generator(this, function (_b) {
|
|
425
|
+
switch (_b.label) {
|
|
426
|
+
case 0: return [4 /*yield*/, new Roles_1.Roles().grantRole(targetId, 'data-access')];
|
|
427
|
+
case 1:
|
|
428
|
+
_b.sent();
|
|
429
|
+
_a = expect;
|
|
430
|
+
return [4 /*yield*/, targetRoles()];
|
|
431
|
+
case 2:
|
|
432
|
+
_a.apply(void 0, [_b.sent()]).toEqual(['data-access']);
|
|
433
|
+
return [4 /*yield*/, auditRows()];
|
|
434
|
+
case 3:
|
|
435
|
+
events = _b.sent();
|
|
436
|
+
expect(events).toHaveLength(1);
|
|
437
|
+
expect(events[0]).toMatchObject({ actor: 'actor-1', target: targetId, role: 'data-access', action: 'grant' });
|
|
438
|
+
return [2 /*return*/];
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
}); }, 60000);
|
|
442
|
+
it('a roles-holder can still REVOKE an admin-grant-only role — de-escalation stays open (the break-glass precedent)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
443
|
+
var _a, _b;
|
|
444
|
+
return __generator(this, function (_c) {
|
|
445
|
+
switch (_c.label) {
|
|
446
|
+
case 0: return [4 /*yield*/, new Roles_1.Roles().grantRole(targetId, 'data-access')];
|
|
447
|
+
case 1:
|
|
448
|
+
_c.sent();
|
|
449
|
+
new user_1.UserRepo().setUser(__assign(__assign({}, actor), { roles: ['roles'] }));
|
|
450
|
+
_c.label = 2;
|
|
451
|
+
case 2:
|
|
452
|
+
_c.trys.push([2, , 6, 7]);
|
|
453
|
+
return [4 /*yield*/, new Roles_1.Roles().revokeRole(targetId, 'data-access')];
|
|
454
|
+
case 3:
|
|
455
|
+
_c.sent();
|
|
456
|
+
_a = expect;
|
|
457
|
+
return [4 /*yield*/, targetRoles()];
|
|
458
|
+
case 4:
|
|
459
|
+
_a.apply(void 0, [_c.sent()]).toEqual([]);
|
|
460
|
+
_b = expect;
|
|
461
|
+
return [4 /*yield*/, auditRows()];
|
|
462
|
+
case 5:
|
|
463
|
+
_b.apply(void 0, [(_c.sent()).map(function (event) { return event.action; }).sort()]).toEqual(['grant', 'revoke']);
|
|
464
|
+
return [3 /*break*/, 7];
|
|
465
|
+
case 6:
|
|
466
|
+
new user_1.UserRepo().setUser(actor);
|
|
467
|
+
return [7 /*endfinally*/];
|
|
468
|
+
case 7: return [2 /*return*/];
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
}); }, 60000);
|
|
333
472
|
});
|
|
334
473
|
//# sourceMappingURL=Roles.integration.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Roles.integration.test.js","sourceRoot":"","sources":["../../test/Roles.integration.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,oCAAyD;AACzD,kEAA6D;AAC7D,0DAAiG;AACjG,oDAAyD;AACzD,oDAAiF;AACjF,wCAAuF;AACvF,+CAA8C;AAE9C;;;;;;;GAOG;AAEH;IAAA;QACE,gBAAW,GAAG,MAAgB,CAAC;IAUjC,CAAC;IAPC,wCAAO,GAAP,UAAQ,IAAiB;QACvB,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC5D,CAAC;IAED,wCAAO,GAAP;QACE,OAAO,sBAAsB,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC;IARM,mCAAY,GAAkC,EAAE,AAApC,CAAqC;IAS1D,6BAAC;CAAA,AAXD,IAWC;AAED,IAAM,aAAa,GAAG,IAAI,iCAAa,CAAC;IACtC,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,MAAM;CACrB,CAAC,CAAC;AAEH;IAAA;IAIA,CAAC;IAHC,qCAAW,GAAX;QACE,OAAO,aAAa,CAAC;IACvB,CAAC;IACH,sBAAC;AAAD,CAAC,AAJD,IAIC;AAED,IAAM,KAAK,GAAG;IACZ,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,oBAAoB;IAC3B,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,IAAA,gBAAM,GAAE;IACjB,OAAO,EAAE,IAAA,gBAAM,GAAE;IACjB,EAAE,EAAE,SAAS;CACd,CAAC;AAEF,IAAM,SAAS,GAAG,IAAA,uBAAgB,EAAC,aAAa,CAAC,CAAC;AAElD,QAAQ,CAAC,uDAAuD,EAAE;IAChE,SAAS,CAAC;;;;oBACP,6BAAgB,CAAC,GAAG,EAAU,CAAC,WAAW,CAAC,sCAAsC,CAAC,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;oBAC7G,6BAAgB,CAAC,GAAG,EAAU,CAAC,WAAW,CAAC,0CAA0C,CAAC,GAAG;wBACxF,IAAI,sBAAsB,EAAE;qBAC7B,CAAC;oBACD,6BAAgB,CAAC,GAAG,EAAU,CAAC,WAAW,CAAC,kCAAkC,CAAC,GAAG;wBAChF,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAsB;
|
|
1
|
+
{"version":3,"file":"Roles.integration.test.js","sourceRoot":"","sources":["../../test/Roles.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SweepMalformedAccessGrants.integration.test.d.ts","sourceRoot":"","sources":["../../test/SweepMalformedAccessGrants.integration.test.ts"],"names":[],"mappings":""}
|