@social-mail/social-mail-web-server 1.8.414 → 1.8.416
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 +17 -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 +17 -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;IAepF,iBAAiB,CAAC,SAAS,EAAE,GAAG;;;;;;;;;;;;;;;;;;YAmCxB,UAAU;CAiB3B"}
|
|
@@ -63,48 +63,46 @@ 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) {
|
|
98
|
+
const { userID } = user;
|
|
99
|
+
if (userID) {
|
|
100
|
+
this.ms.removeUserLoginSessions.notify({ userID });
|
|
101
|
+
}
|
|
104
102
|
// delete key path...
|
|
105
103
|
if (user.keyPath) {
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
this.cache.delete(user.keyPath);
|
|
105
|
+
this.userIDCache.delete(user.userID.toString(36));
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
return super.setAuthCookie(user, authCookie);
|
|
@@ -151,18 +149,18 @@ let UserAuthorizationService = class UserAuthorizationService extends Authorizat
|
|
|
151
149
|
async clearLogin(userID) {
|
|
152
150
|
try {
|
|
153
151
|
const userKey = userID.toString(36);
|
|
154
|
-
const keyPath = await this.
|
|
152
|
+
const keyPath = await this.userIDCache.getOrCreate(userKey, null, (c) => c);
|
|
155
153
|
if (keyPath) {
|
|
156
|
-
|
|
154
|
+
this.cache.delete(keyPath);
|
|
157
155
|
}
|
|
158
|
-
|
|
156
|
+
this.userIDCache.delete(userKey);
|
|
159
157
|
}
|
|
160
158
|
catch (error) {
|
|
161
159
|
// ignore this error...
|
|
162
160
|
if (error?.message === "not found") {
|
|
163
161
|
return;
|
|
164
162
|
}
|
|
165
|
-
console.
|
|
163
|
+
console.warn(error);
|
|
166
164
|
}
|
|
167
165
|
}
|
|
168
166
|
};
|
|
@@ -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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"}
|