prostgles-server 2.0.170 → 2.0.171
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/AuthHandler.d.ts +16 -13
- package/dist/AuthHandler.d.ts.map +1 -1
- package/dist/AuthHandler.js +8 -7
- package/dist/AuthHandler.js.map +1 -1
- package/lib/AuthHandler.ts +25 -20
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/config_test/package.json +11 -13
- package/tests/config_test2/package.json +7 -7
- package/tests/server/index.js +6 -13
- package/tests/server/index.ts +7 -12
- package/tests/server/package-lock.json +1 -1
package/dist/AuthHandler.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnyObject } from "prostgles-types";
|
|
2
2
|
import { LocalParams, PRGLIOSocket } from "./DboBuilder";
|
|
3
3
|
import { DB, DbHandler, Prostgles } from "./Prostgles";
|
|
4
|
+
declare type Awaitable<T> = T | Promise<T>;
|
|
4
5
|
declare type AuthSocketSchema = {
|
|
5
6
|
user?: AnyObject;
|
|
6
7
|
register?: boolean;
|
|
@@ -86,25 +87,27 @@ export declare type Auth<DBO = DbHandler> = {
|
|
|
86
87
|
/**
|
|
87
88
|
* Used in creating a session/logging in using a magic link
|
|
88
89
|
*/
|
|
89
|
-
check: (magicId: string, dbo: DBO, db: DB) =>
|
|
90
|
+
check: (magicId: string, dbo: DBO, db: DB) => Awaitable<BasicSession | undefined>;
|
|
90
91
|
};
|
|
91
92
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
93
|
+
getUser: (sid: string | undefined, dbo: DBO, db: DB, client: AuthClientRequest) => Awaitable<{
|
|
94
|
+
/**
|
|
95
|
+
* User data used on server. Mainly used in http request auth
|
|
96
|
+
*/
|
|
97
|
+
user: AnyObject;
|
|
98
|
+
/**
|
|
99
|
+
* User data sent to client. Mainly used in socket request auth
|
|
100
|
+
*/
|
|
101
|
+
clientUser: AnyObject;
|
|
102
|
+
} | undefined>;
|
|
103
|
+
register?: (params: AnyObject, dbo: DBO, db: DB) => Awaitable<BasicSession> | BasicSession;
|
|
104
|
+
login?: (params: AnyObject, dbo: DBO, db: DB) => Awaitable<BasicSession> | BasicSession;
|
|
105
|
+
logout?: (sid: string | undefined, dbo: DBO, db: DB) => Awaitable<any>;
|
|
103
106
|
/**
|
|
104
107
|
* If provided then then session info will be saved on socket.__prglCache and reused from there
|
|
105
108
|
*/
|
|
106
109
|
cacheSession?: {
|
|
107
|
-
getSession: (sid: string | undefined, dbo: DBO, db: DB) =>
|
|
110
|
+
getSession: (sid: string | undefined, dbo: DBO, db: DB) => Awaitable<BasicSession>;
|
|
108
111
|
};
|
|
109
112
|
};
|
|
110
113
|
export declare type ClientInfo = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0D,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/AuthHandler.js
CHANGED
|
@@ -194,7 +194,7 @@ class AuthHandler {
|
|
|
194
194
|
if (!this.opts)
|
|
195
195
|
return;
|
|
196
196
|
this.opts.sidKeyName = this.opts.sidKeyName || "session_id";
|
|
197
|
-
const { sidKeyName, login, getUser,
|
|
197
|
+
const { sidKeyName, login, getUser, expressConfig } = this.opts;
|
|
198
198
|
this.sidKeyName = this.opts.sidKeyName;
|
|
199
199
|
if (typeof sidKeyName !== "string" && !login) {
|
|
200
200
|
throw "Invalid auth: Provide { sidKeyName: string } ";
|
|
@@ -204,8 +204,8 @@ class AuthHandler {
|
|
|
204
204
|
*/
|
|
205
205
|
if (this.sidKeyName === "sid")
|
|
206
206
|
throw "sidKeyName cannot be 'sid' please provide another name.";
|
|
207
|
-
if (!getUser
|
|
208
|
-
throw "getUser
|
|
207
|
+
if (!getUser)
|
|
208
|
+
throw "getUser missing from auth config";
|
|
209
209
|
if (expressConfig) {
|
|
210
210
|
const { app, publicRoutes = [], onGetRequestOK, magicLinks } = expressConfig;
|
|
211
211
|
if (publicRoutes.find(r => typeof r !== "string" || !r)) {
|
|
@@ -367,14 +367,15 @@ class AuthHandler {
|
|
|
367
367
|
return {};
|
|
368
368
|
}
|
|
369
369
|
const res = await this.throttledFunc(async () => {
|
|
370
|
-
const { getUser
|
|
371
|
-
if (getUser &&
|
|
370
|
+
const { getUser } = this.opts ?? {};
|
|
371
|
+
if (getUser && localParams && (localParams.httpReq || localParams.socket)) {
|
|
372
372
|
const sid = this.getSID(localParams);
|
|
373
373
|
const clientReq = localParams.httpReq ? { httpReq: localParams.httpReq } : { socket: localParams.socket };
|
|
374
374
|
let user, clientUser;
|
|
375
375
|
if (sid) {
|
|
376
|
-
|
|
377
|
-
|
|
376
|
+
const res = await getUser(sid, this.dbo, this.db, clientReq);
|
|
377
|
+
user = res?.user;
|
|
378
|
+
clientUser = res?.clientUser;
|
|
378
379
|
}
|
|
379
380
|
if (getSession && isSocket) {
|
|
380
381
|
const session = await getSession(sid, this.dbo, this.db);
|
package/dist/AuthHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AuthHandler.js","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
|
package/lib/AuthHandler.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AnyObject, AuthGuardLocation, AuthGuardLocationResponse, CHANNELS } from "prostgles-types";
|
|
2
2
|
import { LocalParams, PRGLIOSocket } from "./DboBuilder";
|
|
3
3
|
import { DB, DbHandler, Prostgles } from "./Prostgles";
|
|
4
|
-
|
|
4
|
+
type Awaitable<T> = T | Promise<T>;
|
|
5
5
|
type AuthSocketSchema = {
|
|
6
6
|
user?: AnyObject;
|
|
7
7
|
register?: boolean;
|
|
@@ -98,30 +98,34 @@ export type Auth<DBO = DbHandler> = {
|
|
|
98
98
|
/**
|
|
99
99
|
* Used in creating a session/logging in using a magic link
|
|
100
100
|
*/
|
|
101
|
-
check: (magicId: string, dbo: DBO, db: DB) =>
|
|
101
|
+
check: (magicId: string, dbo: DBO, db: DB) => Awaitable<BasicSession | undefined>;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
* User data used on server. Mainly used in http request auth
|
|
108
|
-
*/
|
|
109
|
-
getUser: (sid: string | undefined, dbo: DBO, db: DB, client: AuthClientRequest) => Promise<AnyObject | undefined> | AnyObject | undefined;
|
|
106
|
+
getUser: (sid: string | undefined, dbo: DBO, db: DB, client: AuthClientRequest) => Awaitable<{
|
|
110
107
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
108
|
+
/**
|
|
109
|
+
* User data used on server. Mainly used in http request auth
|
|
110
|
+
*/
|
|
111
|
+
user: AnyObject;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* User data sent to client. Mainly used in socket request auth
|
|
115
|
+
*/
|
|
116
|
+
clientUser: AnyObject;
|
|
117
|
+
|
|
118
|
+
} | undefined>;
|
|
115
119
|
|
|
116
|
-
register?: (params: AnyObject, dbo: DBO, db: DB) =>
|
|
117
|
-
login?: (params: AnyObject, dbo: DBO, db: DB) =>
|
|
118
|
-
logout?: (sid: string | undefined, dbo: DBO, db: DB) =>
|
|
120
|
+
register?: (params: AnyObject, dbo: DBO, db: DB) => Awaitable<BasicSession> | BasicSession;
|
|
121
|
+
login?: (params: AnyObject, dbo: DBO, db: DB) => Awaitable<BasicSession> | BasicSession;
|
|
122
|
+
logout?: (sid: string | undefined, dbo: DBO, db: DB) => Awaitable<any>;
|
|
119
123
|
|
|
120
124
|
/**
|
|
121
125
|
* If provided then then session info will be saved on socket.__prglCache and reused from there
|
|
122
126
|
*/
|
|
123
127
|
cacheSession?: {
|
|
124
|
-
getSession: (sid: string | undefined, dbo: DBO, db: DB) =>
|
|
128
|
+
getSession: (sid: string | undefined, dbo: DBO, db: DB) => Awaitable<BasicSession>
|
|
125
129
|
}
|
|
126
130
|
}
|
|
127
131
|
|
|
@@ -223,7 +227,7 @@ export default class AuthHandler {
|
|
|
223
227
|
if (!this.opts) return;
|
|
224
228
|
|
|
225
229
|
this.opts.sidKeyName = this.opts.sidKeyName || "session_id";
|
|
226
|
-
const { sidKeyName, login, getUser,
|
|
230
|
+
const { sidKeyName, login, getUser, expressConfig } = this.opts;
|
|
227
231
|
this.sidKeyName = this.opts.sidKeyName;
|
|
228
232
|
|
|
229
233
|
if (typeof sidKeyName !== "string" && !login) {
|
|
@@ -234,7 +238,7 @@ export default class AuthHandler {
|
|
|
234
238
|
*/
|
|
235
239
|
if (this.sidKeyName === "sid") throw "sidKeyName cannot be 'sid' please provide another name.";
|
|
236
240
|
|
|
237
|
-
if (!getUser
|
|
241
|
+
if (!getUser) throw "getUser missing from auth config";
|
|
238
242
|
|
|
239
243
|
if (expressConfig) {
|
|
240
244
|
const { app, publicRoutes = [], onGetRequestOK, magicLinks } = expressConfig;
|
|
@@ -465,15 +469,16 @@ export default class AuthHandler {
|
|
|
465
469
|
|
|
466
470
|
const res = await this.throttledFunc(async () => {
|
|
467
471
|
|
|
468
|
-
const { getUser
|
|
472
|
+
const { getUser } = this.opts ?? {};
|
|
469
473
|
|
|
470
|
-
if (getUser &&
|
|
474
|
+
if (getUser && localParams && (localParams.httpReq || localParams.socket)) {
|
|
471
475
|
const sid = this.getSID(localParams);
|
|
472
476
|
const clientReq = localParams.httpReq? { httpReq: localParams.httpReq } : { socket: localParams.socket };
|
|
473
477
|
let user, clientUser;
|
|
474
478
|
if(sid){
|
|
475
|
-
|
|
476
|
-
|
|
479
|
+
const res = await getUser(sid, this.dbo as any, this.db, clientReq);
|
|
480
|
+
user = res?.user;
|
|
481
|
+
clientUser = res?.clientUser;
|
|
477
482
|
}
|
|
478
483
|
if(getSession && isSocket){
|
|
479
484
|
const session = await getSession(sid, this.dbo as any, this.db)
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
2853
|
|
@@ -11,21 +11,19 @@
|
|
|
11
11
|
"author": "",
|
|
12
12
|
"license": "ISC",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@types/express": "
|
|
15
|
-
"@types/
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"express": "^4.17.1",
|
|
20
|
-
"prostgles-client": "^1.5.83",
|
|
14
|
+
"@types/express": "latest",
|
|
15
|
+
"@types/ws": "latest",
|
|
16
|
+
"chokidar": "latest",
|
|
17
|
+
"express": "latest",
|
|
18
|
+
"prostgles-client": "latest",
|
|
21
19
|
"prostgles-server": "file:../..",
|
|
22
|
-
"socket.io": "
|
|
23
|
-
"socket.io-client": "
|
|
24
|
-
"ws": "
|
|
20
|
+
"socket.io": "latest",
|
|
21
|
+
"socket.io-client": "latest",
|
|
22
|
+
"ws": "latest"
|
|
25
23
|
},
|
|
26
24
|
"devDependencies": {
|
|
27
|
-
"@types/node": "
|
|
28
|
-
"tsc-watch": "
|
|
29
|
-
"typescript": "
|
|
25
|
+
"@types/node": "latest",
|
|
26
|
+
"tsc-watch": "latest",
|
|
27
|
+
"typescript": "latest"
|
|
30
28
|
}
|
|
31
29
|
}
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"@types/socket.io-client": "^1.4.35",
|
|
17
17
|
"@types/ws": "^7.4.0",
|
|
18
18
|
"chokidar": "^3.5.1",
|
|
19
|
-
"express": "
|
|
20
|
-
"prostgles-client": "
|
|
19
|
+
"express": "latest",
|
|
20
|
+
"prostgles-client": "latest",
|
|
21
21
|
"prostgles-server": "file:../..",
|
|
22
22
|
"prostgles-types": "^1.5.66",
|
|
23
|
-
"socket.io": "
|
|
24
|
-
"socket.io-client": "
|
|
25
|
-
"ws": "
|
|
23
|
+
"socket.io": "latest",
|
|
24
|
+
"socket.io-client": "latest",
|
|
25
|
+
"ws": "latest"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/node": "
|
|
29
|
-
"typescript": "
|
|
28
|
+
"@types/node": "latest",
|
|
29
|
+
"typescript": "latest"
|
|
30
30
|
}
|
|
31
31
|
}
|
package/tests/server/index.js
CHANGED
|
@@ -163,24 +163,17 @@ const dbConnection = {
|
|
|
163
163
|
},
|
|
164
164
|
auth: {
|
|
165
165
|
sidKeyName: "token",
|
|
166
|
-
|
|
166
|
+
getUser: async (sid) => {
|
|
167
167
|
if (sid) {
|
|
168
168
|
const s = sessions.find(s => s.id === sid);
|
|
169
169
|
if (s) {
|
|
170
|
-
const
|
|
171
|
-
if (
|
|
172
|
-
return { sid: s.id, uid:
|
|
170
|
+
const user = users.find(u => s && s.user_id === u.id);
|
|
171
|
+
if (user) {
|
|
172
|
+
return { user, clientUser: { sid: s.id, uid: user.id } };
|
|
173
|
+
}
|
|
173
174
|
}
|
|
174
175
|
}
|
|
175
|
-
return
|
|
176
|
-
},
|
|
177
|
-
getUser: async (sid) => {
|
|
178
|
-
if (sid) {
|
|
179
|
-
const s = sessions.find(s => s.id === sid);
|
|
180
|
-
if (s)
|
|
181
|
-
return users.find(u => s && s.user_id === u.id);
|
|
182
|
-
}
|
|
183
|
-
return null;
|
|
176
|
+
return undefined;
|
|
184
177
|
},
|
|
185
178
|
login: async ({ username, password } = {}) => {
|
|
186
179
|
const u = users.find(u => u.username === username && u.password === password);
|
package/tests/server/index.ts
CHANGED
|
@@ -187,22 +187,17 @@ const dbConnection = {
|
|
|
187
187
|
},
|
|
188
188
|
auth: {
|
|
189
189
|
sidKeyName: "token",
|
|
190
|
-
getClientUser: async (sid) => {
|
|
191
|
-
if(sid){
|
|
192
|
-
const s = sessions.find(s => s.id === sid);
|
|
193
|
-
if(s){
|
|
194
|
-
const u = users.find(u => s && s.user_id === u.id);
|
|
195
|
-
if(u) return { sid: s.id, uid: u.id };
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return null;
|
|
199
|
-
},
|
|
200
190
|
getUser: async (sid) => {
|
|
201
191
|
if(sid){
|
|
202
192
|
const s = sessions.find(s => s.id === sid);
|
|
203
|
-
if(s)
|
|
193
|
+
if(s) {
|
|
194
|
+
const user = users.find(u => s && s.user_id === u.id);
|
|
195
|
+
if(user) {
|
|
196
|
+
return { user, clientUser: { sid: s.id, uid: user.id } }
|
|
197
|
+
}
|
|
198
|
+
}
|
|
204
199
|
}
|
|
205
|
-
return
|
|
200
|
+
return undefined;
|
|
206
201
|
},
|
|
207
202
|
login: async ({ username, password } = {}) => {
|
|
208
203
|
const u = users.find(u => u.username === username && u.password === password);
|