prostgles-server 4.2.88 → 4.2.89

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.
@@ -63,6 +63,7 @@ export declare const HTTPCODES: {
63
63
  AUTH_ERROR: number;
64
64
  NOT_FOUND: number;
65
65
  BAD_REQUEST: number;
66
+ INTERNAL_SERVER_ERROR: number;
66
67
  };
67
68
  export declare const getLoginClientInfo: (req: AuthClientRequest) => AuthClientRequest & LoginClientInfo;
68
69
  export type AuthRequestParams<S, SUser extends SessionUser> = {
@@ -124,7 +125,7 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
124
125
  * Name of get url parameter used in redirecting user after successful login.
125
126
  * Defaults to "returnURL"
126
127
  */
127
- returnURL?: string;
128
+ returnUrlParamName?: string;
128
129
  magicLinks?: {
129
130
  /**
130
131
  * Will default to /magic-link
@@ -158,7 +159,7 @@ export declare class AuthHandler {
158
159
  sidKeyName?: string;
159
160
  routes: {
160
161
  login?: string;
161
- returnURL?: string;
162
+ returnUrlParamName?: string;
162
163
  logoutGetPath?: string;
163
164
  magicLinks?: {
164
165
  route: string;
@@ -175,6 +176,7 @@ export declare class AuthHandler {
175
176
  httpReq: ExpressReq;
176
177
  }) => Promise<AuthResult>;
177
178
  init(): Promise<void>;
179
+ getReturnUrl: (req: ExpressReq) => string | null | undefined;
178
180
  destroy: () => void;
179
181
  throttledFunc: <T>(func: () => Promise<T>, throttle?: number) => Promise<T>;
180
182
  loginThrottled: (params: AnyObject, client: LoginClientInfo) => Promise<BasicSession>;
@@ -197,5 +199,6 @@ export declare class AuthHandler {
197
199
  userData: AuthResult;
198
200
  }>;
199
201
  }
202
+ export declare const getSafeReturnURL: (returnURL: string, returnUrlParamName: string) => string | undefined;
200
203
  export {};
201
204
  //# sourceMappingURL=AuthHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthHandler.d.ts","sourceRoot":"","sources":["../lib/AuthHandler.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthHandler = exports.getLoginClientInfo = exports.HTTPCODES = void 0;
3
+ exports.getSafeReturnURL = exports.AuthHandler = exports.getLoginClientInfo = exports.HTTPCODES = void 0;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
5
  const FileManager_1 = require("./FileManager/FileManager");
6
6
  exports.HTTPCODES = {
7
7
  AUTH_ERROR: 401,
8
8
  NOT_FOUND: 404,
9
9
  BAD_REQUEST: 400,
10
+ INTERNAL_SERVER_ERROR: 500,
10
11
  };
11
12
  const getLoginClientInfo = (req) => {
12
13
  if ("httpReq" in req) {
@@ -46,14 +47,14 @@ class AuthHandler {
46
47
  this.prostgles = prostgles;
47
48
  this.opts = prostgles.opts.auth;
48
49
  if (prostgles.opts.auth?.expressConfig) {
49
- const { magicLinks, returnURL, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
50
+ const { magicLinks, returnUrlParamName, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
50
51
  const magicLinksRoute = magicLinks?.route || "/magic-link";
51
52
  this.routes = {
52
53
  magicLinks: magicLinks ? {
53
54
  expressRoute: `${magicLinksRoute}/:id`,
54
55
  route: magicLinksRoute
55
56
  } : undefined,
56
- returnURL: returnURL || "returnURL",
57
+ returnUrlParamName: returnUrlParamName || "returnURL",
57
58
  login: loginRoute || "/login",
58
59
  logoutGetPath: logoutGetPath || "/logout",
59
60
  catchAll: "*"
@@ -86,7 +87,7 @@ class AuthHandler {
86
87
  if (this.routes?.magicLinks?.route)
87
88
  pubRoutes.push(this.routes.magicLinks.route);
88
89
  return !pubRoutes.some(publicRoute => {
89
- return this.matchesRoute(publicRoute, pathname); // publicRoute === pathname || pathname.startsWith(publicRoute) && ["/", "?", "#"].includes(pathname.slice(-1));
90
+ return this.matchesRoute(publicRoute, pathname);
90
91
  });
91
92
  };
92
93
  setCookieAndGoToReturnURLIFSet = (cookie, r) => {
@@ -114,10 +115,10 @@ class AuthHandler {
114
115
  ...(this.opts?.expressConfig?.cookieOptions || {})
115
116
  };
116
117
  const cookieData = sid;
117
- if (!this.sidKeyName || !this.routes?.returnURL)
118
+ if (!this.sidKeyName || !this.routes?.returnUrlParamName)
118
119
  throw "sidKeyName or returnURL missing";
119
120
  res.cookie(this.sidKeyName, cookieData, cookieOpts);
120
- const successURL = getReturnUrl(req, this.routes.returnURL) || "/";
121
+ const successURL = this.getReturnUrl(req) || "/";
121
122
  res.redirect(successURL);
122
123
  }
123
124
  else {
@@ -254,7 +255,7 @@ class AuthHandler {
254
255
  }
255
256
  }
256
257
  try {
257
- const returnURL = getReturnUrl(req, this.routes.returnURL);
258
+ const returnURL = this.getReturnUrl(req);
258
259
  /**
259
260
  * Requesting a User route
260
261
  */
@@ -287,6 +288,14 @@ class AuthHandler {
287
288
  }
288
289
  }
289
290
  }
291
+ getReturnUrl = (req) => {
292
+ const { returnUrlParamName } = this.routes;
293
+ if (req?.query && returnUrlParamName) {
294
+ const returnURL = decodeURIComponent(req?.query?.[returnUrlParamName]);
295
+ return (0, exports.getSafeReturnURL)(returnURL, returnUrlParamName);
296
+ }
297
+ return null;
298
+ };
290
299
  destroy = () => {
291
300
  const app = this.opts?.expressConfig?.app;
292
301
  const { login, logoutGetPath, magicLinks } = this.routes;
@@ -543,13 +552,33 @@ class AuthHandler {
543
552
  };
544
553
  }
545
554
  exports.AuthHandler = AuthHandler;
546
- /**
547
- * AUTH
548
- */
549
- function getReturnUrl(req, name) {
550
- if (req?.query?.returnURL && name) {
551
- return decodeURIComponent(req?.query?.[name]);
555
+ const getSafeReturnURL = (returnURL, returnUrlParamName) => {
556
+ /** Dissalow redirect to other domains */
557
+ if (returnURL) {
558
+ const allowedOrigin = "https://localhost";
559
+ const { origin, pathname, search, searchParams } = new URL(returnURL, allowedOrigin);
560
+ if (origin !== allowedOrigin ||
561
+ returnURL !== `${pathname}${search}` ||
562
+ searchParams.get(returnUrlParamName)) {
563
+ console.error(`Unsafe returnUrl: ${returnURL}. Redirecting to /`);
564
+ return "/";
565
+ }
566
+ return returnURL;
552
567
  }
553
- return null;
568
+ };
569
+ exports.getSafeReturnURL = getSafeReturnURL;
570
+ const issue = [
571
+ ["https://localhost", "/"],
572
+ ["//localhost.bad.com", "/"],
573
+ ["//localhost.com", "/"],
574
+ ["/localhost/com", "/localhost/com"],
575
+ ["/localhost/com?here=there", "/localhost/com?here=there"],
576
+ ["/localhost/com?returnUrl=there", "/"],
577
+ ["//http://localhost.com", "/"],
578
+ ["//abc.com", "/"],
579
+ ["///abc.com", "/"],
580
+ ].find(([returnURL, expected]) => (0, exports.getSafeReturnURL)(returnURL, "returnUrl") !== expected);
581
+ if (issue) {
582
+ throw new Error(`getSafeReturnURL failed for ${issue[0]}. Expected: ${issue[1]}`);
554
583
  }
555
584
  //# sourceMappingURL=AuthHandler.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"initFileManager.d.ts","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AAI/D,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,iBAqLtE"}
1
+ {"version":3,"file":"initFileManager.d.ts","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAqB,MAAM,eAAe,CAAC;AAI/D,wBAAsB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,iBAiLtE"}
@@ -65,7 +65,7 @@ async function initFileManager(prg) {
65
65
  }
66
66
  const cols = await this.dbo[refTable].getColumns();
67
67
  const tableConfig = referencedTables[refTable];
68
- for (const [colName, colConfig] of Object.entries(tableConfig.referenceColumns)) {
68
+ for (const [colName] of Object.entries(tableConfig.referenceColumns)) {
69
69
  const existingCol = cols.find(c => c.name === colName);
70
70
  if (existingCol) {
71
71
  if (existingCol.references?.some(({ ftable }) => ftable === tableName)) {
@@ -114,16 +114,18 @@ async function initFileManager(prg) {
114
114
  if (app) {
115
115
  app.get(this.fileRouteExpress, async (req, res) => {
116
116
  if (!this.dbo[tableName]) {
117
- res.status(500).json({ err: `Internal error: media table (${tableName}) not valid` });
117
+ res.status(AuthHandler_1.HTTPCODES.INTERNAL_SERVER_ERROR).json(`Internal error: media table (${tableName}) not valid`);
118
118
  return false;
119
119
  }
120
120
  const mediaTable = this.dbo[tableName];
121
121
  try {
122
122
  const { name } = req.params;
123
- if (typeof name !== "string" || !name)
123
+ if (typeof name !== "string" || !name) {
124
124
  throw "Invalid media name";
125
- if (!this.prostgles)
125
+ }
126
+ if (!this.prostgles) {
126
127
  throw "Prostgles instance missing";
128
+ }
127
129
  const id = name.slice(0, 36);
128
130
  const selectParams = { select: { id: 1, name: 1, signed_url: 1, signed_url_expires: 1, content_type: 1 } };
129
131
  const media = await runClientRequest_1.runClientRequest.bind(this.prostgles)({
@@ -136,15 +138,8 @@ async function initFileManager(prg) {
136
138
  param3: undefined
137
139
  });
138
140
  if (!media) {
139
- /**
140
- * Redirect to login !??
141
- */
142
- // const mediaExists = await mediaTable.count({ name });
143
- // if(mediaExists && this.prostgles.authHandler){
144
- // } else {
145
- // throw "Invalid media";
146
- // }
147
- throw "Invalid media";
141
+ res.status(AuthHandler_1.HTTPCODES.NOT_FOUND).send("File not found or not allowed");
142
+ return;
148
143
  }
149
144
  if (this.cloudClient) {
150
145
  let url = media.signed_url;
@@ -167,7 +162,7 @@ async function initFileManager(prg) {
167
162
  }
168
163
  catch (e) {
169
164
  console.log(e);
170
- res.status(AuthHandler_1.HTTPCODES.BAD_REQUEST).json({ err: "Invalid/disallowed file" });
165
+ res.status(AuthHandler_1.HTTPCODES.BAD_REQUEST).send("Invalid/disallowed file");
171
166
  }
172
167
  });
173
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"initFileManager.js","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initFileManager.js","sourceRoot":"","sources":["../../lib/FileManager/initFileManager.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,qDAAmD;AAEnD,iDAAuD;AAEvD,+CAA+D;AAC/D,0DAAuD;AACvD,gDAA2C;AAEpC,KAAK,UAAU,eAAe,CAAoB,GAAc;IACrE,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IAErB,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;IAC/B,IAAG,CAAC,SAAS,EAAE,CAAC;QACd,MAAM,mBAAmB,CAAC;IAC5B,CAAC;IACD,MAAM,EAAE,SAAS,GAAG,OAAO,EAAE,gBAAgB,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;IACjE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAE3B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,IAAI,GAAG,CAAC,GAAC,GAAG,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,6DAA6D,WAAW,uGAAuG,CAAC,CAAC;IAE7L,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAe,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAS,EAAE,SAAiB,EAAiB,EAAE;QACrE,MAAM,GAAG,GAAG,MAAM,IAAA,0BAAQ,EAAC,KAAK,IAAI,EAAE;YACpC,IAAG,CAAC,SAAS;gBAAE,MAAM,sFAAsF,CAAC;YAC5G,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACxH,IAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,KAAK,CAAC;QAClB,CAAC;IACH,CAAC,CAAA;IACD;;OAEG;IACH,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC;QACvB,MAAM,QAAQ,CAAC;;mCAEgB,IAAA,wBAAM,EAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;;MAkB9C,EAAE,oBAAoB,IAAA,wBAAM,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAI,MAAM,QAAQ,IAAI,gBAAgB,EAAC,CAAC;QAEtC,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,qBAAqB,QAAQ,wEAAwE,CAAC;QAC9G,CAAC;QACD,MAAM,IAAI,GAAG,MAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAkB,CAAC,UAAU,EAAE,CAAC;QAErE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAE,CAAC;QAEhD,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvD,IAAG,WAAW,EAAC,CAAC;gBACd,IAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAC,CAAC;oBACrE,SAAS;gBACX,CAAC;qBAAM,CAAC;oBACN,IAAG,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAC,CAAC;wBAClC,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,eAAe,IAAA,wBAAM,EAAC,QAAQ,CAAC,qBAAqB,IAAA,wBAAM,EAAC,OAAO,CAAC,gBAAgB,IAAA,wBAAM,EAAC,SAAS,CAAC,SAAS,CAAC;4BAC5H,MAAM,GAAG,GAAG,0BAA0B,QAAQ,KAAK,OAAO,4EAA4E,KAAK,EAAE,CAAC;4BAC9I,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC7B,CAAC;wBAAC,OAAM,CAAC,EAAC,CAAC;4BACT,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,YAAY,KAAK,CAAA,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;wBACtG,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,KAAK,OAAO,+JAA+J,SAAS,MAAM,CAAC,CAAC;oBAC9O,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,eAAe,IAAA,wBAAM,EAAC,QAAQ,CAAC,eAAe,IAAA,wBAAM,EAAC,OAAO,CAAC,oBAAoB,IAAA,wBAAM,EAAC,SAAS,CAAC,QAAQ,CAAA;gBACxH,qCAAqC;gBACrC,UAAU;gBACV,yFAAyF;gBACzF,kCAAkC;gBAClC,gBAAgB;gBAChB,yFAAyF;gBACzF,MAAM;gBACN,IAAI;gBACJ,wBAAwB;gBACxB,OAAO,CAAC,KAAK,CAAC,0BAA0B,QAAQ,KAAK,OAAO,kDAAkD,KAAK,EAAE,CAAC,CAAC;YACzH,CAAC;QAEH,CAAC;QAGD,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,EACJ,cAAc,GAAG,IAAI,SAAS,EAAE,EAChC,UAAU,EAAE,GAAG,EAChB,GAAG,SAAS,CAAC;IAEd,IAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC;QAC/B,MAAM,wCAAwC,CAAA;IAChD,CAAC;IACD,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;IAEhC,IAAG,GAAG,EAAC,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAC,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,uBAAS,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,gCAAgC,SAAS,aAAa,CAAC,CAAC;gBACzG,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAC;YAElE,IAAI,CAAC;gBAEH,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC5B,IAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrC,MAAM,oBAAoB,CAAC;gBAC7B,CAAC;gBACD,IAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,MAAM,4BAA4B,CAAC;gBACrC,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAA;gBAC1G,MAAM,KAAK,GAAG,MAAM,mCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACxD,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,SAAS;oBAClB,SAAS;oBACT,MAAM,EAAE,EAAE,EAAE,EAAE;oBACd,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;gBAEH,IAAG,CAAC,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,MAAM,CAAC,uBAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBACtE,OAAO;gBACT,CAAC;gBAED,IAAG,IAAI,CAAC,WAAW,EAAC,CAAC;oBACnB,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;oBAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;oBAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAI,CAAC;oBAClC,IAAG,CAAC,GAAG,IAAI,OAAO,GAAG,OAAO,EAAC,CAAC;wBAC5B,GAAG,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC9D,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;oBACtF,CAAC;oBAED,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAEpB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAG,GAAI,IAAI,CAAC,MAAsB,CAAC,eAAe,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC5E,IAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAC,CAAC;wBACtB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBACpC,CAAC;oBACD,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACpC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YAEH,CAAC;YAAC,OAAM,CAAC,EAAC,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBACd,GAAG,CAAC,MAAM,CAAC,uBAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAjLD,0CAiLC"}
@@ -66,6 +66,7 @@ export const HTTPCODES = {
66
66
  AUTH_ERROR: 401,
67
67
  NOT_FOUND: 404,
68
68
  BAD_REQUEST: 400,
69
+ INTERNAL_SERVER_ERROR: 500,
69
70
  };
70
71
 
71
72
  export const getLoginClientInfo = (req: AuthClientRequest): AuthClientRequest & LoginClientInfo => {
@@ -157,7 +158,7 @@ export type Auth<S = void, SUser extends SessionUser = SessionUser> = {
157
158
  * Name of get url parameter used in redirecting user after successful login.
158
159
  * Defaults to "returnURL"
159
160
  */
160
- returnURL?: string;
161
+ returnUrlParamName?: string;
161
162
 
162
163
  magicLinks?: {
163
164
 
@@ -200,7 +201,7 @@ export class AuthHandler {
200
201
 
201
202
  routes: {
202
203
  login?: string;
203
- returnURL?: string;
204
+ returnUrlParamName?: string;
204
205
  logoutGetPath?: string;
205
206
  magicLinks?: {
206
207
  route: string;
@@ -215,19 +216,18 @@ export class AuthHandler {
215
216
  this.prostgles = prostgles;
216
217
  this.opts = prostgles.opts.auth as any;
217
218
  if (prostgles.opts.auth?.expressConfig) {
218
- const { magicLinks, returnURL, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
219
+ const { magicLinks, returnUrlParamName, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
219
220
  const magicLinksRoute = magicLinks?.route || "/magic-link"
220
221
  this.routes = {
221
222
  magicLinks: magicLinks? {
222
223
  expressRoute: `${magicLinksRoute}/:id`,
223
224
  route: magicLinksRoute
224
225
  } : undefined,
225
- returnURL: returnURL || "returnURL",
226
+ returnUrlParamName: returnUrlParamName || "returnURL",
226
227
  login: loginRoute || "/login",
227
228
  logoutGetPath: logoutGetPath || "/logout",
228
229
  catchAll: "*"
229
230
  }
230
-
231
231
  }
232
232
  if(!prostgles.dbo || !prostgles.db) throw "dbo or db missing";
233
233
  this.dbo = prostgles.dbo;
@@ -256,7 +256,7 @@ export class AuthHandler {
256
256
  if (this.routes?.magicLinks?.route) pubRoutes.push(this.routes.magicLinks.route);
257
257
 
258
258
  return !pubRoutes.some(publicRoute => {
259
- return this.matchesRoute(publicRoute, pathname); // publicRoute === pathname || pathname.startsWith(publicRoute) && ["/", "?", "#"].includes(pathname.slice(-1));
259
+ return this.matchesRoute(publicRoute, pathname);
260
260
  });
261
261
  }
262
262
 
@@ -287,9 +287,9 @@ export class AuthHandler {
287
287
  ...(this.opts?.expressConfig?.cookieOptions || {})
288
288
  };
289
289
  const cookieData = sid;
290
- if(!this.sidKeyName || !this.routes?.returnURL) throw "sidKeyName or returnURL missing"
290
+ if(!this.sidKeyName || !this.routes?.returnUrlParamName) throw "sidKeyName or returnURL missing"
291
291
  res.cookie(this.sidKeyName, cookieData, cookieOpts);
292
- const successURL = getReturnUrl(req, this.routes.returnURL) || "/";
292
+ const successURL = this.getReturnUrl(req) || "/";
293
293
  res.redirect(successURL);
294
294
 
295
295
  } else {
@@ -435,7 +435,7 @@ export class AuthHandler {
435
435
  }
436
436
  }
437
437
  try {
438
- const returnURL = getReturnUrl(req, this.routes.returnURL)
438
+ const returnURL = this.getReturnUrl(req);
439
439
 
440
440
  /**
441
441
  * Requesting a User route
@@ -475,6 +475,17 @@ export class AuthHandler {
475
475
  }
476
476
  }
477
477
 
478
+ getReturnUrl = (req: ExpressReq) => {
479
+ const { returnUrlParamName } = this.routes;
480
+ if (req?.query && returnUrlParamName) {
481
+ const returnURL = decodeURIComponent(req?.query?.[returnUrlParamName] as string);
482
+
483
+ return getSafeReturnURL(returnURL, returnUrlParamName);
484
+ }
485
+ return null;
486
+
487
+ }
488
+
478
489
  destroy = () => {
479
490
  const app = this.opts?.expressConfig?.app;
480
491
  const { login, logoutGetPath, magicLinks } = this.routes;
@@ -768,12 +779,36 @@ export class AuthHandler {
768
779
  }
769
780
  }
770
781
 
771
- /**
772
- * AUTH
773
- */
774
- function getReturnUrl(req: ExpressReq, name?: string) {
775
- if (req?.query?.returnURL && name) {
776
- return decodeURIComponent(req?.query?.[name] as string);
782
+ export const getSafeReturnURL = (returnURL: string, returnUrlParamName: string) => {
783
+ /** Dissalow redirect to other domains */
784
+ if(returnURL) {
785
+ const allowedOrigin = "https://localhost";
786
+ const { origin, pathname, search, searchParams } = new URL(returnURL, allowedOrigin);
787
+ if(
788
+ origin !== allowedOrigin ||
789
+ returnURL !== `${pathname}${search}` ||
790
+ searchParams.get(returnUrlParamName)
791
+ ){
792
+ console.error(`Unsafe returnUrl: ${returnURL}. Redirecting to /`);
793
+ return "/";
794
+ }
795
+
796
+ return returnURL;
777
797
  }
778
- return null;
798
+ }
799
+
800
+ const issue = ([
801
+ ["https://localhost", "/"],
802
+ ["//localhost.bad.com", "/"],
803
+ ["//localhost.com", "/"],
804
+ ["/localhost/com", "/localhost/com"],
805
+ ["/localhost/com?here=there", "/localhost/com?here=there"],
806
+ ["/localhost/com?returnUrl=there", "/"],
807
+ ["//http://localhost.com", "/"],
808
+ ["//abc.com", "/"],
809
+ ["///abc.com", "/"],
810
+ ] as const).find(([returnURL, expected]) => getSafeReturnURL(returnURL, "returnUrl") !== expected);
811
+
812
+ if(issue){
813
+ throw new Error(`getSafeReturnURL failed for ${issue[0]}. Expected: ${issue[1]}`);
779
814
  }
@@ -71,7 +71,7 @@ export async function initFileManager(this: FileManager, prg: Prostgles){
71
71
 
72
72
  const tableConfig = referencedTables[refTable]!;
73
73
 
74
- for (const [colName, colConfig] of Object.entries(tableConfig.referenceColumns)){
74
+ for (const [colName] of Object.entries(tableConfig.referenceColumns)){
75
75
  const existingCol = cols.find(c => c.name === colName);
76
76
  if(existingCol){
77
77
  if(existingCol.references?.some(({ ftable }) => ftable === tableName)){
@@ -125,7 +125,7 @@ export async function initFileManager(this: FileManager, prg: Prostgles){
125
125
  if(app){
126
126
  app.get(this.fileRouteExpress, async (req, res) => {
127
127
  if(!this.dbo[tableName]){
128
- res.status(500).json({ err: `Internal error: media table (${tableName}) not valid` });
128
+ res.status(HTTPCODES.INTERNAL_SERVER_ERROR).json(`Internal error: media table (${tableName}) not valid`);
129
129
  return false;
130
130
  }
131
131
 
@@ -134,8 +134,12 @@ export async function initFileManager(this: FileManager, prg: Prostgles){
134
134
  try {
135
135
 
136
136
  const { name } = req.params;
137
- if(typeof name !== "string" || !name) throw "Invalid media name";
138
- if(!this.prostgles) throw "Prostgles instance missing";
137
+ if(typeof name !== "string" || !name) {
138
+ throw "Invalid media name";
139
+ }
140
+ if(!this.prostgles) {
141
+ throw "Prostgles instance missing";
142
+ }
139
143
  const id = name.slice(0, 36);
140
144
  const selectParams = { select: { id: 1, name: 1, signed_url: 1, signed_url_expires: 1, content_type: 1 } }
141
145
  const media = await runClientRequest.bind(this.prostgles)({
@@ -149,16 +153,8 @@ export async function initFileManager(this: FileManager, prg: Prostgles){
149
153
  });
150
154
 
151
155
  if(!media) {
152
- /**
153
- * Redirect to login !??
154
- */
155
- // const mediaExists = await mediaTable.count({ name });
156
- // if(mediaExists && this.prostgles.authHandler){
157
-
158
- // } else {
159
- // throw "Invalid media";
160
- // }
161
- throw "Invalid media";
156
+ res.status(HTTPCODES.NOT_FOUND).send("File not found or not allowed");
157
+ return;
162
158
  }
163
159
 
164
160
  if(this.cloudClient){
@@ -184,7 +180,7 @@ export async function initFileManager(this: FileManager, prg: Prostgles){
184
180
 
185
181
  } catch(e){
186
182
  console.log(e)
187
- res.status(HTTPCODES.BAD_REQUEST).json({ err: "Invalid/disallowed file" });
183
+ res.status(HTTPCODES.BAD_REQUEST).send("Invalid/disallowed file");
188
184
  }
189
185
  });
190
186
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.88",
3
+ "version": "4.2.89",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1033,15 +1033,20 @@ export const isomorphicQueries = async (db: DBOFullyTyped | DBHandlerClient, log
1033
1033
  `, [], { returnType: "rows" });
1034
1034
  const apps = await db.sql?.(`SELECT * FROM prostgles.apps`, [], { returnType: "value" });
1035
1035
  const app_triggers = await db.sql?.(`SELECT * FROM prostgles.app_triggers`, [], { returnType: "rows" });
1036
+ log("show-logs");
1036
1037
  log(JSON.stringify({ appName, apps, app_triggers }, null, 2));
1037
1038
  }
1038
1039
  }, 2000);
1039
1040
  const sub = await db[`"""quoted0"""`].subscribe!(filter, { }, async items => {
1040
1041
  const item = items[0];
1042
+ log(JSON.stringify({
1043
+ item,
1044
+ runs,
1045
+ }, null, 2));
1041
1046
  if(item && item[`"text_col0"`] === "0"){
1042
1047
  runs++;
1043
1048
  if(runs === 1){
1044
- db[`"""quoted0"""`].update!(filter, filter);
1049
+ await db[`"""quoted0"""`].update!(filter, filter);
1045
1050
  }
1046
1051
  if(runs < 2){
1047
1052
  return;
@@ -28,8 +28,10 @@ import type { DBOFullyTyped } from "prostgles-server/dist/DBSchemaBuilder";
28
28
  import { spawn } from "child_process";
29
29
  export type { DBHandlerServer } from "prostgles-server/dist/Prostgles";
30
30
 
31
+ let logs = [];
32
+
31
33
  export const log = (msg: string, extra?: any, trace?: boolean) => {
32
- const msgs = ["(server): " + msg, extra].filter(v => v);
34
+ const msgs = msg.includes("show-logs")? logs : ["(server): " + msg, extra].filter(v => v);
33
35
  if(trace){
34
36
  console.trace(...msgs);
35
37
  } else {
@@ -77,7 +79,6 @@ function dd(){
77
79
  if(!dbo) return;
78
80
  dbo.tbl.find;
79
81
  }
80
-
81
82
  (async () => {
82
83
 
83
84
 
@@ -101,6 +102,8 @@ function dd(){
101
102
  transactions: true,
102
103
  schema: { public: 1, prostgles_test: 1 },
103
104
  onLog: async ev => {
105
+ logs.push(ev);
106
+ logs = logs.slice(-10);
104
107
  if(ev.type === "debug" || ev.type === "connect" || ev.type === "disconnect"){
105
108
  // log("onLog", ev);
106
109
  }
@@ -135,8 +138,11 @@ function dd(){
135
138
  if(isClientTest){
136
139
  log("Client connected -> console does not work. use log function. socket.id:", socket.id);
137
140
  socket.emit("start-test", { server_id: Math.random() });
138
- socket.on("log", async (data, cb) => {
141
+ socket.on("log", async (data, cb) => {
139
142
  console.log("Client log ", data);
143
+ if(typeof data === "string" && data.includes("show-logs")){
144
+ log(data);
145
+ }
140
146
  });
141
147
  socket.on("stop-test", async (err, cb) => {
142
148
  cb();
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.87",
24
+ "version": "4.2.88",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",
@@ -1,8 +1,9 @@
1
1
  import { DBHandlerServer } from "../dist/DboBuilder";
2
+ import { getSafeReturnURL } from "../dist/AuthHandler";
2
3
  import { test, describe } from "node:test";
3
4
 
4
5
  export const serverOnlyQueries = async (db: DBHandlerServer) => {
5
-
6
+
6
7
  await describe('Server Only Queries', async () => {
7
8
  await test('Self reference recursion bug', async () => {
8
9
  await db.rec.findOne!({ id: 1 }, { select: { "*": 1, rec_ref: "*" } });
@@ -26,6 +27,6 @@ export const serverOnlyQueries = async (db: DBHandlerServer) => {
26
27
  if(newRow.col1 !== null) {
27
28
  throw "api_table onMount failed: col1 missing. Got: " + JSON.stringify(newRow);
28
29
  }
29
- });
30
+ });
30
31
  });
31
32
  }