@social-mail/social-mail-web-server 1.8.414 → 1.8.415
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/services/UserAuthorizationService.d.ts +3 -2
- package/dist/server/services/UserAuthorizationService.d.ts.map +1 -1
- package/dist/server/services/UserAuthorizationService.js +13 -19
- package/dist/server/services/UserAuthorizationService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/services/UserAuthorizationService.ts +13 -19
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import AuthorizationService, { ICookie } from "@entity-access/server-pages/dist/services/AuthorizationService.js";
|
|
2
2
|
import { SessionUser } from "@entity-access/server-pages/dist/core/SessionUser.js";
|
|
3
|
-
import BaseDiskCache from "../../common/BaseDiskCache.js";
|
|
4
3
|
import { IAuthorizationCookie } from "@entity-access/server-pages/dist/services/IAuthorizationCookie.js";
|
|
5
4
|
import MessagingService from "./message-events/MessagingService.js";
|
|
5
|
+
import TimedCache from "@entity-access/entity-access/dist/common/cache/TimedCache.js";
|
|
6
6
|
export default class UserAuthorizationService extends AuthorizationService {
|
|
7
|
-
|
|
7
|
+
cache: TimedCache<any, any>;
|
|
8
|
+
userIDCache: TimedCache<any, any>;
|
|
8
9
|
ms: MessagingService;
|
|
9
10
|
constructor();
|
|
10
11
|
loadUserSessionFromCookie(cookie: string, user: SessionUser): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAuthorizationService.d.ts","sourceRoot":"","sources":["../../../src/server/services/UserAuthorizationService.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,EAAE,EAAE,OAAO,EAAE,MAAM,mEAAmE,CAAC;AAGlH,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,
|
|
1
|
+
{"version":3,"file":"UserAuthorizationService.d.ts","sourceRoot":"","sources":["../../../src/server/services/UserAuthorizationService.ts"],"names":[],"mappings":"AACA,OAAO,oBAAoB,EAAE,EAAE,OAAO,EAAE,MAAM,mEAAmE,CAAC;AAGlH,OAAO,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mEAAmE,CAAC;AACzG,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,UAAU,MAAM,8DAA8D,CAAC;AAGtF,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,oBAAoB;IAEtE,KAAK,uBAA+B;IACpC,WAAW,uBAAiC;IAG5C,EAAE,EAAE,gBAAgB,CAAC;;IASf,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;IAoB3D,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpF,iBAAiB,CAAC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;;;;;YAmCxB,UAAU;CAiB3B"}
|
|
@@ -63,48 +63,42 @@ import Inject, { RegisterSingleton, ServiceProvider } from "@entity-access/entit
|
|
|
63
63
|
import AuthorizationService from "@entity-access/server-pages/dist/services/AuthorizationService.js";
|
|
64
64
|
import SocialMailContext from "../model/SocialMailContext.js";
|
|
65
65
|
import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
|
|
66
|
-
import BaseDiskCache from "../../common/BaseDiskCache.js";
|
|
67
|
-
import { join } from "path";
|
|
68
|
-
import { globalEnv } from "../../common/globalEnv.js";
|
|
69
66
|
import MessagingService from "./message-events/MessagingService.js";
|
|
67
|
+
import TimedCache from "@entity-access/entity-access/dist/common/cache/TimedCache.js";
|
|
70
68
|
let UserAuthorizationService = class UserAuthorizationService extends AuthorizationService {
|
|
71
69
|
constructor() {
|
|
72
70
|
super();
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
keepTTLSeconds: 60 * 60 * 1000,
|
|
76
|
-
maxAge: 24 * 60 * 60 * 1000
|
|
77
|
-
});
|
|
71
|
+
this.cache = new TimedCache(60000, 90000);
|
|
72
|
+
this.userIDCache = new TimedCache(90000, 180000);
|
|
78
73
|
process.nextTick(() => {
|
|
79
74
|
this.ms.removeUserLoginSessions.on(({ userID }) => this.clearLogin(userID));
|
|
80
75
|
});
|
|
81
76
|
}
|
|
82
77
|
async loadUserSessionFromCookie(cookie, user) {
|
|
83
|
-
const
|
|
84
|
-
const info = await this.diskCache.getOrCreateJsonAsync(keyPath, async () => {
|
|
78
|
+
const info = await this.cache.getOrCreateAsync(cookie, async () => {
|
|
85
79
|
const sessionID = await this.decode(cookie);
|
|
86
80
|
return await this.loadSessionFromDb(sessionID);
|
|
87
81
|
});
|
|
88
82
|
user.sessionID = info.sessionID;
|
|
89
83
|
if (!info.userID) {
|
|
90
84
|
// delete cache. cache is invalid...
|
|
91
|
-
|
|
85
|
+
this.cache.delete(cookie);
|
|
92
86
|
return;
|
|
93
87
|
}
|
|
94
88
|
user.userID = info.userID;
|
|
95
89
|
user.roles = info.roles;
|
|
96
90
|
user.expiry = info.expiry;
|
|
97
|
-
user.keyPath =
|
|
91
|
+
user.keyPath = cookie;
|
|
98
92
|
user.fileAccessList = info.fileAccessList;
|
|
99
93
|
user.isAuthorized = true;
|
|
100
|
-
|
|
94
|
+
this.userIDCache.getOrCreate(user.userID.toString(36), cookie, (c) => c);
|
|
101
95
|
}
|
|
102
96
|
async setAuthCookie(user, authCookie) {
|
|
103
97
|
if (authCookie === null) {
|
|
104
98
|
// delete key path...
|
|
105
99
|
if (user.keyPath) {
|
|
106
|
-
|
|
107
|
-
|
|
100
|
+
this.cache.delete(user.keyPath);
|
|
101
|
+
this.userIDCache.delete(user.userID.toString(36));
|
|
108
102
|
}
|
|
109
103
|
}
|
|
110
104
|
return super.setAuthCookie(user, authCookie);
|
|
@@ -151,18 +145,18 @@ let UserAuthorizationService = class UserAuthorizationService extends Authorizat
|
|
|
151
145
|
async clearLogin(userID) {
|
|
152
146
|
try {
|
|
153
147
|
const userKey = userID.toString(36);
|
|
154
|
-
const keyPath = await this.
|
|
148
|
+
const keyPath = await this.userIDCache.getOrCreate(userKey, null, (c) => c);
|
|
155
149
|
if (keyPath) {
|
|
156
|
-
|
|
150
|
+
this.cache.delete(keyPath);
|
|
157
151
|
}
|
|
158
|
-
|
|
152
|
+
this.userIDCache.delete(userKey);
|
|
159
153
|
}
|
|
160
154
|
catch (error) {
|
|
161
155
|
// ignore this error...
|
|
162
156
|
if (error?.message === "not found") {
|
|
163
157
|
return;
|
|
164
158
|
}
|
|
165
|
-
console.
|
|
159
|
+
console.warn(error);
|
|
166
160
|
}
|
|
167
161
|
}
|
|
168
162
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserAuthorizationService.js","sourceRoot":"","sources":["../../../src/server/services/UserAuthorizationService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AACxG,OAAO,oBAAiC,MAAM,mEAAmE,CAAC;AAClH,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAC9D,OAAO,GAAG,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"UserAuthorizationService.js","sourceRoot":"","sources":["../../../src/server/services/UserAuthorizationService.ts"],"names":[],"mappings":"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"}
|