@spinajs/rbac 2.0.486 → 2.0.488
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/lib/cjs/actions.d.ts +18 -2
- package/lib/cjs/actions.d.ts.map +1 -1
- package/lib/cjs/actions.js +193 -13
- package/lib/cjs/actions.js.map +1 -1
- package/lib/cjs/config/rbac.d.ts +35 -1
- package/lib/cjs/config/rbac.d.ts.map +1 -1
- package/lib/cjs/config/rbac.js +39 -4
- package/lib/cjs/config/rbac.js.map +1 -1
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +12 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.d.ts +21 -0
- package/lib/cjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.d.ts.map +1 -0
- package/lib/cjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.js +49 -0
- package/lib/cjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.js.map +1 -0
- package/lib/cjs/models/User.d.ts +20 -1
- package/lib/cjs/models/User.d.ts.map +1 -1
- package/lib/cjs/models/User.js +27 -6
- package/lib/cjs/models/User.js.map +1 -1
- package/lib/cjs/session.d.ts +82 -0
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +105 -1
- package/lib/cjs/session.js.map +1 -1
- package/lib/cjs/util.d.ts +20 -1
- package/lib/cjs/util.d.ts.map +1 -1
- package/lib/cjs/util.js +50 -9
- package/lib/cjs/util.js.map +1 -1
- package/lib/mjs/actions.d.ts +18 -2
- package/lib/mjs/actions.d.ts.map +1 -1
- package/lib/mjs/actions.js +193 -14
- package/lib/mjs/actions.js.map +1 -1
- package/lib/mjs/config/rbac.d.ts +35 -1
- package/lib/mjs/config/rbac.d.ts.map +1 -1
- package/lib/mjs/config/rbac.js +39 -4
- package/lib/mjs/config/rbac.js.map +1 -1
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +13 -3
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.d.ts +21 -0
- package/lib/mjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.d.ts.map +1 -0
- package/lib/mjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.js +46 -0
- package/lib/mjs/migrations/RBACRegisteredAt_2026_07_28_00_00_00.js.map +1 -0
- package/lib/mjs/models/User.d.ts +20 -1
- package/lib/mjs/models/User.d.ts.map +1 -1
- package/lib/mjs/models/User.js +26 -5
- package/lib/mjs/models/User.js.map +1 -1
- package/lib/mjs/session.d.ts +82 -0
- package/lib/mjs/session.d.ts.map +1 -1
- package/lib/mjs/session.js +99 -0
- package/lib/mjs/session.js.map +1 -1
- package/lib/mjs/util.d.ts +20 -1
- package/lib/mjs/util.d.ts.map +1 -1
- package/lib/mjs/util.js +48 -8
- package/lib/mjs/util.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/cjs/actions.d.ts
CHANGED
|
@@ -104,6 +104,22 @@ export declare function _user(identifier: number | string | User): () => Promise
|
|
|
104
104
|
* @returns
|
|
105
105
|
*/
|
|
106
106
|
export declare function _user_unsafe(identifier: number | string | User): () => Promise<User>;
|
|
107
|
+
/**
|
|
108
|
+
* Destroys every session belonging to a user, on every device.
|
|
109
|
+
*
|
|
110
|
+
* Called from each action that invalidates what a live session was granted on:
|
|
111
|
+
* a password change or reset ( the credential behind the session is gone ), a
|
|
112
|
+
* ban or a deactivation ( the account may no longer act at all ). Without this
|
|
113
|
+
* an attacker who is already inside keeps their session while the victim
|
|
114
|
+
* changes the password that was supposed to lock them out.
|
|
115
|
+
*
|
|
116
|
+
* Errors are NOT swallowed: a session store that cannot be reached means the
|
|
117
|
+
* revocation did not happen, and the caller must learn that rather than be told
|
|
118
|
+
* the account is secure.
|
|
119
|
+
*
|
|
120
|
+
* @param user - the user whose sessions are destroyed, or their numeric id
|
|
121
|
+
*/
|
|
122
|
+
export declare function revokeUserSessions(user: User | number): Promise<void>;
|
|
107
123
|
/**
|
|
108
124
|
* ===============================================
|
|
109
125
|
* USER ACTIONS
|
|
@@ -159,11 +175,11 @@ export declare function deleteUser(identifier: number | string | User): Promise<
|
|
|
159
175
|
* Grants an additional role to a user.
|
|
160
176
|
* The role is added only if not already present. Emits a {@link UserRoleGranted} event.
|
|
161
177
|
*
|
|
162
|
-
* @param identifier - numeric id
|
|
178
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
163
179
|
* @param role - role name to grant
|
|
164
180
|
* @returns the updated {@link User}
|
|
165
181
|
*/
|
|
166
|
-
export declare function grant(identifier: number | string, role: string): Promise<User>;
|
|
182
|
+
export declare function grant(identifier: number | string | User, role: string): Promise<User>;
|
|
167
183
|
/**
|
|
168
184
|
* Revokes a role from a user.
|
|
169
185
|
* Removes the role from the user's role list and emits a {@link UserRoleRevoked} event.
|
package/lib/cjs/actions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAwB,IAAI,EAAY,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAM,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/actions.js
CHANGED
|
@@ -14,6 +14,7 @@ exports._user_ev = _user_ev;
|
|
|
14
14
|
exports._user_update = _user_update;
|
|
15
15
|
exports._user = _user;
|
|
16
16
|
exports._user_unsafe = _user_unsafe;
|
|
17
|
+
exports.revokeUserSessions = revokeUserSessions;
|
|
17
18
|
exports.activate = activate;
|
|
18
19
|
exports.deactivate = deactivate;
|
|
19
20
|
exports.create = create;
|
|
@@ -41,6 +42,7 @@ const configuration_2 = require("@spinajs/configuration");
|
|
|
41
42
|
const interfaces_js_1 = require("./interfaces.js");
|
|
42
43
|
const luxon_1 = require("luxon");
|
|
43
44
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
45
|
+
const crypto_1 = require("crypto");
|
|
44
46
|
const uuid_1 = require("uuid");
|
|
45
47
|
const UserLoginFailed_js_1 = require("./events/UserLoginFailed.js");
|
|
46
48
|
const UserMetadataChange_js_1 = require("./events/UserMetadataChange.js");
|
|
@@ -76,9 +78,7 @@ function _get_system_user() {
|
|
|
76
78
|
const s = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(systemRole, 'rbac.systemRole');
|
|
77
79
|
const c = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(roleColumn, 'rbac.roleColumn');
|
|
78
80
|
return [s, c];
|
|
79
|
-
}, ([systemRole, roleColumn]) => User_js_1.User.query()
|
|
80
|
-
.where(roleColumn, systemRole)
|
|
81
|
-
.firstOrFail());
|
|
81
|
+
}, ([systemRole, roleColumn]) => User_js_1.User.query().where(roleColumn, systemRole).firstOrFail());
|
|
82
82
|
}
|
|
83
83
|
/**
|
|
84
84
|
*
|
|
@@ -220,7 +220,39 @@ function _user_unsafe(identifier) {
|
|
|
220
220
|
if (id instanceof User_js_1.UserBase) {
|
|
221
221
|
return () => Promise.resolve(id);
|
|
222
222
|
}
|
|
223
|
-
return () => User_js_1.UserBase.query().whereAnything(id).populate(
|
|
223
|
+
return () => User_js_1.UserBase.query().whereAnything(id).populate('Metadata').firstOrFail();
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Destroys every session belonging to a user, on every device.
|
|
227
|
+
*
|
|
228
|
+
* Called from each action that invalidates what a live session was granted on:
|
|
229
|
+
* a password change or reset ( the credential behind the session is gone ), a
|
|
230
|
+
* ban or a deactivation ( the account may no longer act at all ). Without this
|
|
231
|
+
* an attacker who is already inside keeps their session while the victim
|
|
232
|
+
* changes the password that was supposed to lock them out.
|
|
233
|
+
*
|
|
234
|
+
* Errors are NOT swallowed: a session store that cannot be reached means the
|
|
235
|
+
* revocation did not happen, and the caller must learn that rather than be told
|
|
236
|
+
* the account is secure.
|
|
237
|
+
*
|
|
238
|
+
* @param user - the user whose sessions are destroyed, or their numeric id
|
|
239
|
+
*/
|
|
240
|
+
async function revokeUserSessions(user) {
|
|
241
|
+
const userId = lodash_1.default.isNumber(user) ? user : user?.Id;
|
|
242
|
+
if (!userId) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const provider = await (0, configuration_1._service)('rbac.session', interfaces_js_1.SessionProvider)();
|
|
246
|
+
await provider.deleteByUser(userId);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Chain step form of {@link revokeUserSessions} — revokes and forwards the user.
|
|
250
|
+
*/
|
|
251
|
+
function _revoke_sessions() {
|
|
252
|
+
return async (u) => {
|
|
253
|
+
await revokeUserSessions(u);
|
|
254
|
+
return u;
|
|
255
|
+
};
|
|
224
256
|
}
|
|
225
257
|
/**
|
|
226
258
|
* ===============================================
|
|
@@ -243,7 +275,9 @@ async function activate(identifier) {
|
|
|
243
275
|
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
244
276
|
*/
|
|
245
277
|
async function deactivate(identifier) {
|
|
246
|
-
|
|
278
|
+
// Sessions go with the account: a deactivated user must stop acting NOW, not
|
|
279
|
+
// whenever their session happens to expire.
|
|
280
|
+
return (0, util_1._chain)(_user(identifier), _user_update({ IsActive: false }), _revoke_sessions(), _user_ev(index_js_1.UserDeactivated), _user_email('deactivated'));
|
|
247
281
|
}
|
|
248
282
|
/**
|
|
249
283
|
* Reads a create-middleware list from configuration.
|
|
@@ -315,13 +349,19 @@ async function create(email, login, password, roles, id, metadata) {
|
|
|
315
349
|
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
316
350
|
*/
|
|
317
351
|
async function deleteUser(identifier) {
|
|
318
|
-
return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => u.destroy()),
|
|
352
|
+
return (0, util_1._chain)(_user(identifier), (0, util_1._tap)((u) => u.destroy()),
|
|
353
|
+
// Same reason a deactivation revokes: the account may no longer act. A live
|
|
354
|
+
// session outlasting the deletion is worse here than there — the session
|
|
355
|
+
// middleware resolves its user through `isActiveUser()`, which no longer
|
|
356
|
+
// matches a soft-deleted row, so every request from that session dies in
|
|
357
|
+
// the middleware instead of being cleanly logged out.
|
|
358
|
+
_revoke_sessions(), _user_ev(index_js_1.UserDeleted), _user_email('deleted'));
|
|
319
359
|
}
|
|
320
360
|
/**
|
|
321
361
|
* Grants an additional role to a user.
|
|
322
362
|
* The role is added only if not already present. Emits a {@link UserRoleGranted} event.
|
|
323
363
|
*
|
|
324
|
-
* @param identifier - numeric id
|
|
364
|
+
* @param identifier - numeric id, uuid / email / login string, or an existing {@link User} instance
|
|
325
365
|
* @param role - role name to grant
|
|
326
366
|
* @returns the updated {@link User}
|
|
327
367
|
*/
|
|
@@ -363,7 +403,11 @@ async function ban(identifier, reason, duration) {
|
|
|
363
403
|
{ key: User_js_1.USER_COMMON_METADATA.USER_BAN_REASON, value: reason },
|
|
364
404
|
{ key: User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED, value: true },
|
|
365
405
|
{ key: User_js_1.USER_COMMON_METADATA.USER_BAN_START_DATE, value: luxon_1.DateTime.now() },
|
|
366
|
-
]),
|
|
406
|
+
]),
|
|
407
|
+
// A ban that leaves the banned user's session alive bans nothing until that
|
|
408
|
+
// session expires — `isActiveUser` does not filter on the ban flag, so the
|
|
409
|
+
// session would keep resolving happily.
|
|
410
|
+
_revoke_sessions(), _user_ev(index_js_1.UserBanned), _user_email('banned'));
|
|
367
411
|
}
|
|
368
412
|
/**
|
|
369
413
|
*
|
|
@@ -413,7 +457,19 @@ async function passwordChangeRequest(identifier) {
|
|
|
413
457
|
* @param token - the reset token that was issued by {@link passwordChangeRequest}
|
|
414
458
|
*/
|
|
415
459
|
async function confirmPasswordReset(identifier, newPassword, token) {
|
|
416
|
-
return (0, util_1._chain)(_user(identifier),
|
|
460
|
+
return (0, util_1._chain)(_user(identifier),
|
|
461
|
+
// A reset must not resurrect an account that is banned, deactivated or
|
|
462
|
+
// deleted — otherwise the reset flow is a way around every one of those
|
|
463
|
+
// states. Same ErrorCode family the caller already collapses into one
|
|
464
|
+
// opaque failure, so this does not become an account-state oracle.
|
|
465
|
+
(0, util_1._tap)(async (u) => {
|
|
466
|
+
if (u.Metadata[User_js_1.USER_COMMON_METADATA.USER_BAN_IS_BANNED]) {
|
|
467
|
+
throw new exceptions_1.ErrorCode(E_CODES.E_USER_BANNED, `Password reset refused: user is banned`, { user: u });
|
|
468
|
+
}
|
|
469
|
+
if (!u.IsActive || u.DeletedAt) {
|
|
470
|
+
throw new exceptions_1.ErrorCode(E_CODES.E_USER_NOT_ACTIVE, `Password reset refused: user is not active`, { user: u });
|
|
471
|
+
}
|
|
472
|
+
}), (0, util_1._tap)((u) => (0, util_1._chain)(u, (0, util_1._zip)(_get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_START_DATE), _get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME)), ([dueDate, waitTime]) => {
|
|
417
473
|
if (dueDate.plus({ seconds: waitTime }) < luxon_1.DateTime.now()) {
|
|
418
474
|
throw new exceptions_1.ErrorCode(E_CODES.E_TOKEN_EXPIRED, `Password change token expired, token expiration date is: ${dueDate.toISO()}`, {
|
|
419
475
|
dueDate,
|
|
@@ -423,14 +479,44 @@ async function confirmPasswordReset(identifier, newPassword, token) {
|
|
|
423
479
|
});
|
|
424
480
|
}
|
|
425
481
|
})), (0, util_1._tap)((u) => (0, util_1._chain)(u, _get_user_meta(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_TOKEN), async (resetToken) => {
|
|
426
|
-
if (resetToken
|
|
482
|
+
if (!_secure_compare(String(resetToken), token)) {
|
|
427
483
|
throw new exceptions_1.ErrorCode(E_CODES.E_TOKEN_INVALID, `Password change token invalid, operation not permitted`, {
|
|
428
484
|
token,
|
|
429
485
|
resetToken,
|
|
430
486
|
user: u,
|
|
431
487
|
});
|
|
432
488
|
}
|
|
433
|
-
})), changePassword(newPassword)
|
|
489
|
+
})), changePassword(newPassword),
|
|
490
|
+
// Burn the token. Validating it and leaving it in place made it a
|
|
491
|
+
// multi-use credential for the whole `passwordResetWaitTime` window:
|
|
492
|
+
// anyone who saw the reset mail once could keep re-taking the account.
|
|
493
|
+
(0, util_1._tap)(async (u) => {
|
|
494
|
+
await u.Metadata.delete(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_TOKEN);
|
|
495
|
+
await u.Metadata.delete(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_START_DATE);
|
|
496
|
+
await u.Metadata.delete(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_WAIT_TIME);
|
|
497
|
+
await u.Metadata.delete(User_js_1.USER_COMMON_METADATA.USER_PWD_RESET);
|
|
498
|
+
}));
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Length-independent, constant-time string comparison for secrets.
|
|
502
|
+
*
|
|
503
|
+
* `!==` on a token leaks how many leading characters matched through timing.
|
|
504
|
+
* The margin is small over a network and the tokens are uuid-shaped, but a
|
|
505
|
+
* comparison of a secret is the wrong place to rely on that.
|
|
506
|
+
*
|
|
507
|
+
* @param a - value read from storage
|
|
508
|
+
* @param b - value supplied by the caller
|
|
509
|
+
*/
|
|
510
|
+
function _secure_compare(a, b) {
|
|
511
|
+
const ha = (0, crypto_1.createHash)('sha256')
|
|
512
|
+
.update(a ?? '')
|
|
513
|
+
.digest();
|
|
514
|
+
const hb = (0, crypto_1.createHash)('sha256')
|
|
515
|
+
.update(b ?? '')
|
|
516
|
+
.digest();
|
|
517
|
+
// hashing first makes both operands the same length, which timingSafeEqual
|
|
518
|
+
// requires and which also stops the length itself from leaking
|
|
519
|
+
return (0, crypto_1.timingSafeEqual)(ha, hb);
|
|
434
520
|
}
|
|
435
521
|
/**
|
|
436
522
|
* Returns a function that changes a user's password.
|
|
@@ -450,7 +536,18 @@ function changePassword(password) {
|
|
|
450
536
|
}
|
|
451
537
|
}),
|
|
452
538
|
// update password
|
|
453
|
-
({ pwd }) => pwd.hash(password), (hPassword) => (0, util_1._chain)(u, (0, orm_1._update)({ Password: hPassword }), _set_user_meta(
|
|
539
|
+
({ pwd }) => pwd.hash(password), (hPassword) => (0, util_1._chain)(u, (0, orm_1._update)({ Password: hPassword }), _set_user_meta([
|
|
540
|
+
{ key: User_js_1.USER_COMMON_METADATA.USER_PWD_RESET_LAST_ATTEMPT, value: luxon_1.DateTime.now().toISO() },
|
|
541
|
+
// a successful password change clears the login throttle: the
|
|
542
|
+
// credential the failures were counted against no longer exists
|
|
543
|
+
{ key: User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS, value: 0 },
|
|
544
|
+
{ key: User_js_1.USER_COMMON_METADATA.USER_LOGIN_LOCKED_UNTIL, value: null },
|
|
545
|
+
]),
|
|
546
|
+
// Every session was authorized by the OLD password. Whoever holds one
|
|
547
|
+
// — including whoever the user is changing the password because of —
|
|
548
|
+
// loses it here. Callers that want the acting user to stay logged in
|
|
549
|
+
// ( eg. PATCH /user/password ) mint a fresh session afterwards.
|
|
550
|
+
_revoke_sessions(), _user_ev(index_js_1.UserPasswordChanged)));
|
|
454
551
|
};
|
|
455
552
|
}
|
|
456
553
|
/**
|
|
@@ -493,9 +590,17 @@ function passwordMatch(password) {
|
|
|
493
590
|
async function login(identifier, password) {
|
|
494
591
|
password = (0, util_1._check_arg)((0, util_1._trim)(), (0, util_1._non_empty)())(password, 'password');
|
|
495
592
|
return await (0, util_1._chain)(_user_unsafe(identifier), (0, util_1._catch)((u) => {
|
|
496
|
-
return (0, util_1._chain)(
|
|
593
|
+
return (0, util_1._chain)(async () => {
|
|
594
|
+
// Refuse before the password is even checked, so a locked account
|
|
595
|
+
// cannot be probed at all during the lockout window.
|
|
596
|
+
await _assert_not_locked(u);
|
|
597
|
+
return (0, configuration_1._service)('rbac.auth', interfaces_js_1.AuthProvider)();
|
|
598
|
+
}, async (sAuth) => sAuth.authenticate(u.Email, password), (0, orm_1._update)({ LastLoginAt: luxon_1.DateTime.now() }), _clear_login_throttle(), _user_ev(index_js_1.UserLogged));
|
|
497
599
|
}, (err, u) => {
|
|
498
600
|
return (0, util_1._chain)(() => u,
|
|
601
|
+
// count the failure and lock the account once the configured
|
|
602
|
+
// threshold is reached
|
|
603
|
+
_register_failed_login(err),
|
|
499
604
|
// send event of failed login
|
|
500
605
|
_user_ev(UserLoginFailed_js_1.UserLoginFailed, err),
|
|
501
606
|
// rethrow error for caller
|
|
@@ -504,4 +609,79 @@ async function login(identifier, password) {
|
|
|
504
609
|
});
|
|
505
610
|
}));
|
|
506
611
|
}
|
|
612
|
+
/**
|
|
613
|
+
* Throws when the account is inside a lockout window opened by
|
|
614
|
+
* {@link _register_failed_login}.
|
|
615
|
+
*
|
|
616
|
+
* @param u - user attempting to authenticate
|
|
617
|
+
*/
|
|
618
|
+
async function _assert_not_locked(u) {
|
|
619
|
+
const raw = u?.Metadata?.[User_js_1.USER_COMMON_METADATA.USER_LOGIN_LOCKED_UNTIL];
|
|
620
|
+
if (!raw) {
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
|
+
const lockedUntil = raw instanceof luxon_1.DateTime ? raw : luxon_1.DateTime.fromISO(String(raw));
|
|
624
|
+
if (lockedUntil.isValid && lockedUntil > luxon_1.DateTime.now()) {
|
|
625
|
+
throw new exceptions_1.ErrorCode(interfaces_js_1.AthenticationErrorCodes.E_LOGIN_ATTEMPTS_EXCEEDED, `Too many failed login attempts, account is temporarily locked until ${lockedUntil.toISO()}`, {
|
|
626
|
+
user: u,
|
|
627
|
+
lockedUntil,
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Clears the failure counter and any expired lock after a successful login.
|
|
633
|
+
*/
|
|
634
|
+
function _clear_login_throttle() {
|
|
635
|
+
return async (u) => {
|
|
636
|
+
const meta = u?.Metadata;
|
|
637
|
+
if (!meta) {
|
|
638
|
+
return u;
|
|
639
|
+
}
|
|
640
|
+
const hasAttempts = Number(meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS] ?? 0) > 0;
|
|
641
|
+
const hasLock = Boolean(meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_LOCKED_UNTIL]);
|
|
642
|
+
if (!hasAttempts && !hasLock) {
|
|
643
|
+
return u;
|
|
644
|
+
}
|
|
645
|
+
await meta.delete(User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS);
|
|
646
|
+
await meta.delete(User_js_1.USER_COMMON_METADATA.USER_LOGIN_LOCKED_UNTIL);
|
|
647
|
+
return u;
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
/**
|
|
651
|
+
* Records one failed authentication and, at `rbac.password.blockAfterAttempts`
|
|
652
|
+
* consecutive failures, locks the account for `rbac.password.lockoutTime`
|
|
653
|
+
* seconds.
|
|
654
|
+
*
|
|
655
|
+
* `blockAfterAttempts <= 0` disables throttling entirely. A rejection that was
|
|
656
|
+
* itself the lockout is not counted — otherwise hammering a locked account
|
|
657
|
+
* would keep extending the lock indefinitely.
|
|
658
|
+
*
|
|
659
|
+
* @param err - the error that ended the login attempt
|
|
660
|
+
*/
|
|
661
|
+
function _register_failed_login(err) {
|
|
662
|
+
return async (u) => {
|
|
663
|
+
const meta = u?.Metadata;
|
|
664
|
+
if (!meta) {
|
|
665
|
+
return u;
|
|
666
|
+
}
|
|
667
|
+
if (err instanceof exceptions_1.ErrorCode && err.code === interfaces_js_1.AthenticationErrorCodes.E_LOGIN_ATTEMPTS_EXCEEDED) {
|
|
668
|
+
return u;
|
|
669
|
+
}
|
|
670
|
+
const blockAfter = await (0, configuration_1._cfg)('rbac.password.blockAfterAttempts', 5)();
|
|
671
|
+
const lockoutTime = await (0, configuration_1._cfg)('rbac.password.lockoutTime', 15 * 60)();
|
|
672
|
+
if (!blockAfter || blockAfter <= 0) {
|
|
673
|
+
return u;
|
|
674
|
+
}
|
|
675
|
+
const attempts = Number(meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS] ?? 0) + 1;
|
|
676
|
+
if (attempts >= blockAfter) {
|
|
677
|
+
meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS] = 0;
|
|
678
|
+
meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_LOCKED_UNTIL] = luxon_1.DateTime.now().plus({ seconds: lockoutTime }).toISO();
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
meta[User_js_1.USER_COMMON_METADATA.USER_LOGIN_ATTEMPTS] = attempts;
|
|
682
|
+
}
|
|
683
|
+
await meta.update();
|
|
684
|
+
return u;
|
|
685
|
+
};
|
|
686
|
+
}
|
|
507
687
|
//# sourceMappingURL=actions.js.map
|
package/lib/cjs/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":";;;;;;AAyDA,4CAiBC;AASD,gDAEC;AAWD,8BAWC;AAaD,wCAqBC;AASD,wCAOC;AASD,kCA0BC;AASD,4BAKC;AAQD,oCAKC;AAUD,sBAQC;AASD,oCAQC;AAcD,4BAEC;AAQD,gCAEC;AAqCD,wBAqDC;AAQD,gCAOC;AAUD,sBASC;AAUD,wBASC;AAWD,kBAsBC;AASD,sBAsBC;AASD,sDAYC;AAUD,oDA4BC;AAWD,wCAmBC;AAQD,wCAEC;AASD,sCAWC;AAYD,sBAwBC;AAloBD,sCAAgD;AAChD,wCAA6O;AAC7O,oDAAuB;AACvB,0CAAiD;AACjD,0CAAqC;AACrC,8CAAwE;AACxE,0DAAwD;AACxD,gDAAkO;AAClO,oCAA8C;AAC9C,0DAAuD;AAEvD,mDAA6F;AAC7F,iCAAiC;AACjC,oDAAgD;AAChD,+BAAoC;AACpC,oEAA8D;AAC9D,0EAAoE;AACpE,4EAAsE;AAEtE,IAAY,OAwBX;AAxBD,WAAY,OAAO;IACjB,2DAAe,CAAA;IAEf,2DAAe,CAAA;IAEf,uGAAqC,CAAA;IAErC,6DAAgB,CAAA;IAEhB,uEAAqB,CAAA;IAErB,+DAAiB,CAAA;IAEjB,uDAAa,CAAA;IAEb,qEAAoB,CAAA;IAEpB,6EAAwB,CAAA;IAExB,yEAAsB,CAAA;IAEtB,oEAAmB,CAAA;IAEnB,sDAAY,CAAA;AACd,CAAC,EAxBW,OAAO,uBAAP,OAAO,QAwBlB;AAED;;;;GAIG;AAEH;;;;;GAKG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,aAAM,EACX,IAAA,WAAI,EACF,IAAA,oBAAI,EAAS,iBAAiB,CAAC,EAC/B,IAAA,oBAAI,EAAS,iBAAiB,CAAC,CAChC,EACD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAmB,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAE3E,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACf,CAAC,EACD,CAAC,CAAC,UAAU,EAAE,UAAU,CAAmB,EAAE,EAAE,CAC7C,cAAI,CAAC,KAAK,EAAE;SACT,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC;SAC7B,WAAW,EAAE,CACnB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAAC,IAAc;IAC/C,OAAO,GAAG,EAAE,CAAC,cAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAID;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,IAA4B;IAEpD,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,IAAI,EAAE,CAAC,cAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,IAAI,EAAE,CAAC,cAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAID;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,IAA4C,EAAE,QAAa,IAAI;IAC5F,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAA,gBAAS,GAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE5J,KAAK,CAAC,OAAO,CAAC,CAAC,CAAuC,EAAE,EAAE;YACxD,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,aAAM,EACV,CAAC,EAED,IAAA,WAAI,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAC/B,QAAQ,CAAC,0CAAkB,EAAE,GAAG,EAAE;YAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAuC,EAAE,EAAE;gBAC3D,OAAO,gBAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,wBAAwB,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5I,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,iCAAiC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;QAE3J,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,WAAkK;IAO5L,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,OAAO,IAAA,aAAM,EAAO,IAAA,WAAI,EAAC,IAAA,oBAAI,EAAC,uBAAuB,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,EAAE,IAAA,WAAI,EAAC,IAAA,oBAAI,EAAC,cAAc,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAA2C,EAAE,EAAE;YAC3M,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,WAAW,6CAA6C,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnK,IAAA,iBAAU,EAAC,IAAA,iBAAU,EAAC,IAAA,iBAAU,GAAE,EAAE,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC5F,IAAA,iBAAU,EAAC,IAAA,iBAAU,EAAC,IAAA,iBAAU,GAAE,EAAE,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAE1F,OAAO,CACL,QAAQ,CAAC,OAAO;gBAChB,IAAA,uBAAe,EAAC;oBACd,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;oBACb,UAAU;oBACV,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;oBACjB,GAAG,EAAE,aAAa,WAAW,EAAE;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;iBAC1B,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,QAAQ,CAAC,KAA6B,EAAE,GAAG,IAAW;IACpE,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,MAAM,IAAA,WAAG,EAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,IAAoB;IAC/C,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,MAAM,IAAA,aAAM,EAAC,CAAC,EAAE,IAAA,aAAO,EAAO,IAAI,CAAC,EAAE,QAAQ,CAAC,sBAAW,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,UAAkC;IACtD,MAAM,EAAE,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,eAAQ,GAAE,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAErE,IAAI,EAAE,YAAY,cAAI,EAAE,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,cAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,UAAkC;IAC7D,MAAM,EAAE,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,eAAQ,GAAE,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAErE,IAAI,EAAE,YAAY,kBAAQ,EAAE,CAAC;QAC3B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,GAAG,EAAE,CAAC,kBAAQ,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;AACrF,CAAC;AAED;;;;GAIG;AAEH;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,UAAkC;IAC/D,OAAO,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,wBAAa,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;AACxH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,UAAkC;IACjE,OAAO,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,0BAAe,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AAC7H,CAAC;AAOD;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,OAAE,CAAC,GAAG,CAAC,6BAAa,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,CAAqB,IAAI,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,MAAM,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB,EAAE,KAAe,EAAE,EAAW,EAAE,QAAiC;IAC1I,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAQ,EAAmB,eAAe,EAAE,gCAAgB,CAAC,EAAE,CAAC;IAExF,KAAK,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,EAAE,IAAA,gBAAS,GAAE,EAAE,IAAA,kBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxF,KAAK,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,EAAE,IAAA,kBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3E,QAAQ,GAAG,IAAA,iBAAU,EACnB,IAAA,YAAK,GAAE,EACP,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CACrC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExB,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjD,OAAO,IAAA,aAAM;IACX,cAAc;IACd,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CACb,IAAI,cAAI,CAAC;QACP,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,gBAAQ,CAAC,GAAG,EAAE;QAC5B,SAAS,EAAE,gBAAQ,CAAC,GAAG,EAAE;QACzB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAA,SAAM,GAAE;KACf,CAAC,CACH;IAEH,+BAA+B;IAC/B,CAAC,CAAO,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAEjF,eAAe;IACf,IAAA,aAAO,GAAE,EAET,IAAA,cAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,SAAS,EAClC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAChG,KAAK,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvB,8BAA8B;IAC9B,CAAC,CAAO,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,iCAAiC,CAAC,CAAC;IAEhF,aAAa;IACb,QAAQ,CAAC,sBAAW,EAAE,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAE9C,aAAa;IACb,IAAA,WAAI,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE5B,4EAA4E;IAC5E,CAAC,CAAO,EAAE,EAAE;QACV,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,UAAkC;IACjE,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,IAAA,WAAI,EAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9B,QAAQ,CAAC,sBAAW,CAAC,EACrB,WAAW,CAAC,SAAS,CAAC,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,KAAK,CAAC,UAA2B,EAAE,IAAY;IACnE,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEvD,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,IAAA,WAAI,EAAC,KAAK,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAC7D,YAAY,EAAE,EACd,QAAQ,CAAC,0BAAe,EAAE,IAAI,CAAC,CAChC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,MAAM,CAAC,UAAkC,EAAE,IAAY;IAC3E,IAAI,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEvD,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,IAAA,WAAI,EAAC,KAAK,EAAE,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EACpE,YAAY,EAAE,EACd,QAAQ,CAAC,0BAAe,EAAE,IAAI,CAAC,CAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,GAAG,CAAC,UAAkC,EAAE,MAAe,EAAE,QAAiB;IAC9F,QAAQ,GAAG,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAA,iBAAU,EAAC,IAAA,UAAG,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,GAAG,IAAA,iBAAU,EAAC,IAAA,eAAQ,EAAC,WAAW,CAAC,EAAE,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/E,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,CAAC,CAAO,EAAE,EAAE;QACV,IAAI,CAAC,CAAC,QAAQ,CAAC,8BAAoB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,sBAAS,CAAC,OAAO,CAAC,aAAa,EAAE,wBAAwB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,EACD,cAAc,CAAC;QACb,EAAE,GAAG,EAAE,8BAAoB,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChE,EAAE,GAAG,EAAE,8BAAoB,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;QAC5D,EAAE,GAAG,EAAE,8BAAoB,CAAC,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC7D,EAAE,GAAG,EAAE,8BAAoB,CAAC,mBAAmB,EAAE,KAAK,EAAE,gBAAQ,CAAC,GAAG,EAAE,EAAE;KACzE,CAAC,EACF,QAAQ,CAAC,qBAAU,CAAC,EACpB,WAAW,CAAC,QAAQ,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,KAAK,CAAC,UAAkC;IAC5D,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC;IAEjB,yEAAyE;IACzE,IAAA,WAAI,EAAC,KAAK,EAAE,CAAO,EAAE,EAAE;QACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAAoB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,sBAAS,CAAC,OAAO,CAAC,aAAa,EAAE,0BAA0B,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC;IAEF,uEAAuE;IACvE,2EAA2E;IAC3E,IAAA,WAAI,EAAC,KAAK,EAAE,CAAO,EAAE,EAAE;QACrB,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAAoB,CAAC,kBAAkB,CAAC,CAAC;QACjE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAAoB,CAAC,mBAAmB,CAAC,CAAC;QAClE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAAoB,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAAoB,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC,CAAC,EAEF,QAAQ,CAAC,uBAAY,CAAC,CACvB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,qBAAqB,CAAC,UAAkC;IAC5E,MAAM,WAAW,GAAG,MAAM,IAAA,oBAAI,EAAS,qCAAqC,CAAC,EAAE,CAAC;IAEhF,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,cAAc,CAAC;QACb,EAAE,GAAG,EAAE,8BAAoB,CAAC,yBAAyB,EAAE,KAAK,EAAE,gBAAQ,CAAC,GAAG,EAAE,EAAE;QAC9E,EAAE,GAAG,EAAE,8BAAoB,CAAC,oBAAoB,EAAE,KAAK,EAAE,IAAA,SAAM,GAAE,EAAE;QACnE,EAAE,GAAG,EAAE,8BAAoB,CAAC,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE;KAC3E,CAAC,EACF,QAAQ,CAAC,oCAAyB,CAAC,CACpC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CAAC,UAAkC,EAAE,WAAmB,EAAE,KAAa;IAC/G,OAAO,IAAA,aAAM,EACX,KAAK,CAAC,UAAU,CAAC,EACjB,IAAA,WAAI,EAAC,CAAC,CAAO,EAAE,EAAE,CACf,IAAA,aAAM,EAAC,CAAC,EAAE,IAAA,WAAI,EAAC,cAAc,CAAC,8BAAoB,CAAC,yBAAyB,CAAC,EAAE,cAAc,CAAC,8BAAoB,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAqB,EAAE,EAAE;QACzL,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,gBAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,sBAAS,CAAC,OAAO,CAAC,eAAe,EAAE,4DAA4D,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE;gBAC1H,OAAO;gBACP,QAAQ;gBACR,IAAI,EAAE,gBAAQ,CAAC,GAAG,EAAE;gBACpB,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CACH,EACD,IAAA,WAAI,EAAC,CAAC,CAAO,EAAE,EAAE,CACf,IAAA,aAAM,EAAC,CAAC,EAAE,cAAc,CAAC,8BAAoB,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,UAAkB,EAAE,EAAE;QAChG,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,sBAAS,CAAC,OAAO,CAAC,eAAe,EAAE,wDAAwD,EAAE;gBACrG,KAAK;gBACL,UAAU;gBACV,IAAI,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CACH,EACD,cAAc,CAAC,WAAW,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,QAAgB;IAC7C,QAAQ,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnE,OAAO,KAAK,EAAE,CAAO,EAAE,EAAE;QACvB,OAAO,IAAA,aAAM,EACX,IAAA,WAAI,EAAC,IAAA,wBAAQ,EAAC,eAAe,EAAE,gCAAgB,CAAC,EAAE,KAAK,CAAC,EACxD,IAAA,WAAI,EAAC,IAAA,wBAAQ,EAAC,0BAA0B,EAAE,0CAA0B,CAAC,EAAE,WAAW,CAAC,EAEnF,IAAA,WAAI,EAAC,KAAK,EAAE,EAAE,SAAS,EAA6C,EAAE,EAAE;YACtE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;QAEF,kBAAkB;QAClB,CAAC,EAAE,GAAG,EAA6B,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC1D,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAA,aAAM,EAAC,CAAC,EAAE,IAAA,aAAO,EAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,cAAc,CAAC,8BAAoB,CAAC,2BAA2B,EAAE,gBAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,8BAAmB,CAAC,CAAC,CAClM,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,UAAkC;IACrE,OAAO,MAAM,IAAA,aAAM,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,4CAAmB,CAAC,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC5C,QAAQ,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnE,OAAO,KAAK,EAAE,CAAO,EAAoB,EAAE;QACzC,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,qEAAqE;QACrE,mBAAmB;QACnB,OAAO,MAAM,IAAA,aAAM,EAAC,IAAA,wBAAQ,EAAC,eAAe,EAAE,gCAAgB,CAAC,EAAE,KAAK,EAAE,IAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACxI,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,KAAK,CAAC,UAAkC,EAAE,QAAgB;IAC9E,QAAQ,GAAG,IAAA,iBAAU,EAAC,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEnE,OAAO,MAAM,IAAA,aAAM,EACjB,YAAY,CAAC,UAAU,CAAC,EACxB,IAAA,aAAM,EACJ,CAAC,CAAO,EAAE,EAAE;QACV,OAAO,IAAA,aAAM,EAAC,IAAA,wBAAQ,EAAC,WAAW,EAAE,4BAAY,CAAC,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAA,aAAO,EAAO,EAAE,WAAW,EAAE,gBAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,qBAAU,CAAC,CAAC,CAAC;IACjM,CAAC,EACD,CAAC,GAAG,EAAE,CAAO,EAAE,EAAE;QACf,OAAO,IAAA,aAAM,EACX,GAAG,EAAE,CAAC,CAAC;QAEP,6BAA6B;QAC7B,QAAQ,CAAC,oCAAe,EAAE,GAAG,CAAC;QAE9B,2BAA2B;QAC3B,GAAG,EAAE;YACH,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/actions.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/config/rbac.d.ts
CHANGED
|
@@ -178,6 +178,15 @@ declare const rbac: {
|
|
|
178
178
|
* How long we should wait to reset password ( after this time reset token is invalid )
|
|
179
179
|
*/
|
|
180
180
|
passwordResetWaitTime: number;
|
|
181
|
+
/**
|
|
182
|
+
* Consecutive failed logins that lock the account. 0 disables throttling.
|
|
183
|
+
*/
|
|
184
|
+
blockAfterAttempts: number;
|
|
185
|
+
/**
|
|
186
|
+
* How long the account stays locked once `blockAfterAttempts` is hit,
|
|
187
|
+
* in seconds.
|
|
188
|
+
*/
|
|
189
|
+
lockoutTime: number;
|
|
181
190
|
};
|
|
182
191
|
user: {
|
|
183
192
|
profile: string;
|
|
@@ -194,7 +203,32 @@ declare const rbac: {
|
|
|
194
203
|
ttl: number;
|
|
195
204
|
maxLifetime: number;
|
|
196
205
|
};
|
|
197
|
-
|
|
206
|
+
/**
|
|
207
|
+
* Session cookie. Passed through to express, EXCEPT:
|
|
208
|
+
* - `httpOnly` is forced on and cannot be configured away,
|
|
209
|
+
* - `secure` and `sameSite` default to `true` / `'strict'`,
|
|
210
|
+
* - `name` sets the cookie name ( default `ssid` ),
|
|
211
|
+
* - `hostPrefix: true` emits it as `__Host-<name>`, which additionally
|
|
212
|
+
* forces `secure`, `path: '/'` and drops `domain`.
|
|
213
|
+
*
|
|
214
|
+
* Local http development needs `secure: false`; everything else should be
|
|
215
|
+
* left alone.
|
|
216
|
+
*/
|
|
217
|
+
cookie: {
|
|
218
|
+
/**
|
|
219
|
+
* Secure everywhere except local development.
|
|
220
|
+
*
|
|
221
|
+
* `NODE_ENV=production` is what a deployment sets, and there the cookie
|
|
222
|
+
* must never leave over plain http. Anywhere else ( a developer running
|
|
223
|
+
* the app on http://localhost ) the browser would simply drop a Secure
|
|
224
|
+
* cookie and nobody could log in, so it is relaxed there and only
|
|
225
|
+
* there.
|
|
226
|
+
*
|
|
227
|
+
* An application serving https outside production should set this back
|
|
228
|
+
* to `true` in its own config.
|
|
229
|
+
*/
|
|
230
|
+
secure: boolean;
|
|
231
|
+
};
|
|
198
232
|
};
|
|
199
233
|
/**
|
|
200
234
|
* System role is used to perform internal operations on users, like password reset, email change etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2LJ;;eAEG;;;;;YASH;;eAEG;;;;;;;;YASH;;;;eAIG
|
|
1
|
+
{"version":3,"file":"rbac.d.ts","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA2LJ;;eAEG;;;;;YASH;;eAEG;;YAGH;;eAEG;;YAGH;;;eAGG;;;;;;;;YASH;;;;eAIG;;;;;;YAWH;;;;;;;;;;eAUG;;gBAED;;;;;;;;;;;mBAWG;;;;QAKP;;WAEG;;QAEH;;;;;eAKO;;;8BAGiB,KAAK,CAAC,QAAQ,CAAC;6BAChB,KAAK,CAAC,QAAQ,CAAC;;;QAMtC;;WAEG;;QAGH;;;WAGG;;YAED;;;eAGG;6BACoB,MAAM,EAAE;;QAGjC;;;;;WAKG;;YAED;;;eAGG;;YAGH;;;eAGG;4BAC2B,MAAM,EAAE;;;CAG3C,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/lib/cjs/config/rbac.js
CHANGED
|
@@ -187,6 +187,15 @@ const rbac = {
|
|
|
187
187
|
* How long we should wait to reset password ( after this time reset token is invalid )
|
|
188
188
|
*/
|
|
189
189
|
passwordResetWaitTime: 60 * 60,
|
|
190
|
+
/**
|
|
191
|
+
* Consecutive failed logins that lock the account. 0 disables throttling.
|
|
192
|
+
*/
|
|
193
|
+
blockAfterAttempts: 5,
|
|
194
|
+
/**
|
|
195
|
+
* How long the account stays locked once `blockAfterAttempts` is hit,
|
|
196
|
+
* in seconds.
|
|
197
|
+
*/
|
|
198
|
+
lockoutTime: 15 * 60,
|
|
190
199
|
},
|
|
191
200
|
user: {
|
|
192
201
|
profile: "BasicProfileProvider"
|
|
@@ -200,11 +209,37 @@ const rbac = {
|
|
|
200
209
|
*/
|
|
201
210
|
expiration: {
|
|
202
211
|
service: 'SlidingCappedExpiration',
|
|
203
|
-
|
|
204
|
-
|
|
212
|
+
// idle timeout — OWASP puts a low-risk application at 15-30 minutes
|
|
213
|
+
ttl: 30, // minutes
|
|
214
|
+
// hard ceiling on a single session's life, regardless of activity
|
|
215
|
+
maxLifetime: 480, // minutes (SlidingCappedExpiration only)
|
|
216
|
+
},
|
|
217
|
+
/**
|
|
218
|
+
* Session cookie. Passed through to express, EXCEPT:
|
|
219
|
+
* - `httpOnly` is forced on and cannot be configured away,
|
|
220
|
+
* - `secure` and `sameSite` default to `true` / `'strict'`,
|
|
221
|
+
* - `name` sets the cookie name ( default `ssid` ),
|
|
222
|
+
* - `hostPrefix: true` emits it as `__Host-<name>`, which additionally
|
|
223
|
+
* forces `secure`, `path: '/'` and drops `domain`.
|
|
224
|
+
*
|
|
225
|
+
* Local http development needs `secure: false`; everything else should be
|
|
226
|
+
* left alone.
|
|
227
|
+
*/
|
|
228
|
+
cookie: {
|
|
229
|
+
/**
|
|
230
|
+
* Secure everywhere except local development.
|
|
231
|
+
*
|
|
232
|
+
* `NODE_ENV=production` is what a deployment sets, and there the cookie
|
|
233
|
+
* must never leave over plain http. Anywhere else ( a developer running
|
|
234
|
+
* the app on http://localhost ) the browser would simply drop a Secure
|
|
235
|
+
* cookie and nobody could log in, so it is relaxed there and only
|
|
236
|
+
* there.
|
|
237
|
+
*
|
|
238
|
+
* An application serving https outside production should set this back
|
|
239
|
+
* to `true` in its own config.
|
|
240
|
+
*/
|
|
241
|
+
secure: process.env.NODE_ENV === 'production',
|
|
205
242
|
},
|
|
206
|
-
// passthrough express cookie options
|
|
207
|
-
cookie: {},
|
|
208
243
|
},
|
|
209
244
|
/**
|
|
210
245
|
* System role is used to perform internal operations on users, like password reset, email change etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rbac.js","sourceRoot":"","sources":["../../../src/config/rbac.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export * from './session-codec.js';
|
|
|
16
16
|
export * from './models/User.js';
|
|
17
17
|
export * from './models/UserMetadata.js';
|
|
18
18
|
export * from './migrations/RBACInitial_2022_06_28_01_13_00.js';
|
|
19
|
+
export * from './migrations/RBACRegisteredAt_2026_07_28_00_00_00.js';
|
|
19
20
|
export * from './events/index.js';
|
|
20
21
|
export * from './actions.js';
|
|
21
22
|
export * from './middleware.js';
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAIvE,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,eAAe,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAIvE,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AAIxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iDAAiD,CAAC;AAChE,cAAc,sDAAsD,CAAC;AACrE,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAG/B,QAAA,MAAQ,UAAU,sBAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAErC,qBACa,gBAAiB,SAAQ,YAAY;IACzC,SAAS,IAAI,IAAI;CA8DzB"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -37,6 +37,7 @@ require("./session-expiration.js");
|
|
|
37
37
|
require("./session-codec.js");
|
|
38
38
|
require("./ownership.js");
|
|
39
39
|
const User_js_1 = require("./models/User.js");
|
|
40
|
+
const UserMetadata_js_1 = require("./models/UserMetadata.js");
|
|
40
41
|
__exportStar(require("./interfaces.js"), exports);
|
|
41
42
|
__exportStar(require("./auth.js"), exports);
|
|
42
43
|
__exportStar(require("./password.js"), exports);
|
|
@@ -46,6 +47,7 @@ __exportStar(require("./session-codec.js"), exports);
|
|
|
46
47
|
__exportStar(require("./models/User.js"), exports);
|
|
47
48
|
__exportStar(require("./models/UserMetadata.js"), exports);
|
|
48
49
|
__exportStar(require("./migrations/RBACInitial_2022_06_28_01_13_00.js"), exports);
|
|
50
|
+
__exportStar(require("./migrations/RBACRegisteredAt_2026_07_28_00_00_00.js"), exports);
|
|
49
51
|
__exportStar(require("./events/index.js"), exports);
|
|
50
52
|
__exportStar(require("./actions.js"), exports);
|
|
51
53
|
__exportStar(require("./middleware.js"), exports);
|
|
@@ -59,6 +61,14 @@ const { Permission } = accesscontrol_1.default;
|
|
|
59
61
|
exports.Permission = Permission;
|
|
60
62
|
let RbacBootstrapper = class RbacBootstrapper extends di_1.Bootstrapper {
|
|
61
63
|
bootstrap() {
|
|
64
|
+
/**
|
|
65
|
+
* Credential-bearing metadata never leaves the server in a dehydrated user.
|
|
66
|
+
* Seeded here rather than as the field initialiser so an application ( or
|
|
67
|
+
* another package, eg. rbac-http-user adding its 2FA keys ) can append to
|
|
68
|
+
* the list without having to restate this one. De-duplicated because tests
|
|
69
|
+
* run bootstrappers repeatedly against a live static.
|
|
70
|
+
*/
|
|
71
|
+
UserMetadata_js_1.UserMetadataBase._hiddenKeys = [...new Set([...UserMetadata_js_1.UserMetadataBase._hiddenKeys, ...User_js_1.USER_SECURITY_METADATA_KEYS])];
|
|
62
72
|
const ac = new accesscontrol_2.AccessControl();
|
|
63
73
|
di_1.DI.register(ac).asValue('AccessControl');
|
|
64
74
|
di_1.DI.once('di.resolved.Configuration', (container, configuration) => {
|
|
@@ -79,7 +89,7 @@ let RbacBootstrapper = class RbacBootstrapper extends di_1.Bootstrapper {
|
|
|
79
89
|
return User_js_1.User.where({
|
|
80
90
|
Uuid: userUUID,
|
|
81
91
|
})
|
|
82
|
-
.populate(
|
|
92
|
+
.populate('Metadata')
|
|
83
93
|
.isActiveUser()
|
|
84
94
|
.firstOrFail();
|
|
85
95
|
}).as('RbacUserFactory');
|
|
@@ -94,7 +104,7 @@ let RbacBootstrapper = class RbacBootstrapper extends di_1.Bootstrapper {
|
|
|
94
104
|
});
|
|
95
105
|
}).as('RbacGuestUserFactory');
|
|
96
106
|
di_1.DI.register(async (_) => {
|
|
97
|
-
const system = await User_js_1.User.select().where(
|
|
107
|
+
const system = await User_js_1.User.select().where('Role', ['system']).where('Login', '__system__').firstOrFail();
|
|
98
108
|
return system;
|
|
99
109
|
}).as('RbacSystemUserFactory');
|
|
100
110
|
di_1.DI.register(async (_, role) => {
|