prostgles-server 4.2.147 → 4.2.148

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.
@@ -1,5 +1,5 @@
1
1
  import { Express, NextFunction, Request, Response } from "express";
2
- import { AnyObject, FieldFilter, UserLike } from "prostgles-types";
2
+ import { AnyObject, FieldFilter, IdentityProvider, UserLike } from "prostgles-types";
3
3
  import { DB } from "../Prostgles";
4
4
  import { DBOFullyTyped } from "../DBSchemaBuilder";
5
5
  import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
@@ -103,6 +103,15 @@ export type AuthRegistrationConfig = RegistrationProviders & {
103
103
  * Do something with the registered user
104
104
  */
105
105
  onRegister: (data: RegistrationData) => void | Promise<any>;
106
+ /**
107
+ * Used to identify abuse
108
+ */
109
+ onProviderLoginFail: (data: {
110
+ provider: IdentityProvider;
111
+ error: any;
112
+ req: ExpressReq;
113
+ res: ExpressRes;
114
+ }) => void | Promise<void>;
106
115
  };
107
116
  export type SessionUser<ServerUser extends UserLike = UserLike, ClientUser extends UserLike = UserLike> = {
108
117
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AuthTypes.d.ts","sourceRoot":"","sources":["../../lib/Auth/AuthTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthTypes.d.ts","sourceRoot":"","sources":["../../lib/Auth/AuthTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setAuthProviders.d.ts","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOnC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAA0B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,4BAA4B,QAAS,SAAS,WAAW,cAAc,QAAQ,MAAM,SAKjG,CAAA;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAmF3G;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,CAoBzF"}
1
+ {"version":3,"file":"setAuthProviders.d.ts","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOnC,OAAO,EAAE,gBAAgB,EAA+B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAA0B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKzC,eAAO,MAAM,4BAA4B,QAAS,SAAS,WAAW,cAAc,QAAQ,MAAM,SAKjG,CAAA;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,QAkG3G;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,CAoBzF"}
@@ -21,7 +21,7 @@ exports.upsertNamedExpressMiddleware = upsertNamedExpressMiddleware;
21
21
  function setAuthProviders({ registrations, app }) {
22
22
  if (!registrations)
23
23
  return;
24
- const { email, onRegister, websiteUrl, ...providers } = registrations;
24
+ const { email, onRegister, onProviderLoginFail, websiteUrl, ...providers } = registrations;
25
25
  if (email) {
26
26
  app.post(AuthHandler_1.AUTH_ROUTES_AND_PARAMS.emailSignup, async (req, res) => {
27
27
  const { username, password } = req.body;
@@ -69,18 +69,28 @@ function setAuthProviders({ registrations, app }) {
69
69
  return done(null, profile, { accessToken, refreshToken, profile });
70
70
  }));
71
71
  app.get(`${AuthHandler_1.AUTH_ROUTES_AND_PARAMS.loginWithProvider}/${providerName}`, passport.authenticate(providerName, authOpts ?? {}));
72
- app.get(callbackPath, passport.authenticate(providerName, {
73
- session: false,
74
- failureRedirect: "/login",
75
- failWithError: true,
76
- }, console.log), async (req, res) => {
77
- this.loginThrottledAndSetCookie(req, res, { type: "provider", provider: providerName, ...req.authInfo })
78
- .then(() => {
79
- res.redirect("/");
80
- })
81
- .catch((e) => {
82
- res.status(500).json((0, dboBuilderUtils_1.getErrorAsObject)(e));
83
- });
72
+ app.get(callbackPath, (req, res) => {
73
+ passport.authenticate(providerName, {
74
+ session: false,
75
+ failureRedirect: "/login",
76
+ failWithError: true,
77
+ }, async (error, profile, authInfo) => {
78
+ if (error) {
79
+ await onProviderLoginFail({ provider: providerName, error, req, res });
80
+ res.status(500).json({
81
+ error: "Failed to login with provider",
82
+ });
83
+ }
84
+ else {
85
+ this.loginThrottledAndSetCookie(req, res, { type: "provider", provider: providerName, ...authInfo })
86
+ .then(() => {
87
+ res.redirect("/");
88
+ })
89
+ .catch((e) => {
90
+ res.status(500).json((0, dboBuilderUtils_1.getErrorAsObject)(e));
91
+ });
92
+ }
93
+ })(req, res);
84
94
  });
85
95
  });
86
96
  }
@@ -91,7 +101,7 @@ function getProviders() {
91
101
  return undefined;
92
102
  const {
93
103
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
94
- email, websiteUrl, onRegister, ...providers } = registrations;
104
+ email, websiteUrl, onRegister, onProviderLoginFail, ...providers } = registrations;
95
105
  if ((0, prostgles_types_1.isEmpty)(providers))
96
106
  return undefined;
97
107
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"setAuthProviders.js","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setAuthProviders.js","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Express, NextFunction, Request, Response } from "express";
2
- import { AnyObject, FieldFilter, UserLike } from "prostgles-types";
2
+ import { AnyObject, FieldFilter, IdentityProvider, UserLike } from "prostgles-types";
3
3
  import { DB } from "../Prostgles";
4
4
  import { DBOFullyTyped } from "../DBSchemaBuilder";
5
5
  import { PRGLIOSocket } from "../DboBuilder/DboBuilderTypes";
@@ -119,6 +119,11 @@ export type AuthRegistrationConfig = RegistrationProviders & {
119
119
  * Do something with the registered user
120
120
  */
121
121
  onRegister: (data: RegistrationData) => void | Promise<any>;
122
+
123
+ /**
124
+ * Used to identify abuse
125
+ */
126
+ onProviderLoginFail: (data: { provider: IdentityProvider; error: any, req: ExpressReq, res: ExpressRes}) => void | Promise<void>;
122
127
  };
123
128
 
124
129
  export type SessionUser<ServerUser extends UserLike = UserLike, ClientUser extends UserLike = UserLike> = {
@@ -22,7 +22,7 @@ export const upsertNamedExpressMiddleware = (app: e.Express, handler: RequestHan
22
22
 
23
23
  export function setAuthProviders (this: AuthHandler, { registrations, app }: Required<Auth>["expressConfig"]) {
24
24
  if(!registrations) return;
25
- const { email, onRegister, websiteUrl, ...providers } = registrations;
25
+ const { email, onRegister, onProviderLoginFail, websiteUrl, ...providers } = registrations;
26
26
  if(email){
27
27
  app.post(AUTH_ROUTES_AND_PARAMS.emailSignup, async (req, res) => {
28
28
  const { username, password } = req.body;
@@ -86,22 +86,37 @@ export function setAuthProviders (this: AuthHandler, { registrations, app }: Req
86
86
  passport.authenticate(providerName, authOpts ?? {})
87
87
  );
88
88
 
89
- app.get(callbackPath,
90
- passport.authenticate(providerName, {
91
- session: false,
92
- failureRedirect: "/login",
93
- failWithError: true,
94
- }, console.log),
95
- async (req, res) => {
96
- this.loginThrottledAndSetCookie(req, res, { type: "provider", provider: providerName, ...req.authInfo as any })
97
- .then(() => {
98
- res.redirect("/");
99
- })
100
- .catch((e: any) => {
101
- res.status(500).json(getErrorAsObject(e));
102
- });
89
+ app.get(
90
+ callbackPath,
91
+ (req, res) => {
92
+
93
+ passport.authenticate(
94
+ providerName,
95
+ {
96
+ session: false,
97
+ failureRedirect: "/login",
98
+ failWithError: true,
99
+ },
100
+ async (error: any, profile: any, authInfo: any) => {
101
+ if(error){
102
+ await onProviderLoginFail({ provider: providerName, error, req, res });
103
+ res.status(500).json({
104
+ error: "Failed to login with provider",
105
+ });
106
+ } else {
107
+ this.loginThrottledAndSetCookie(req, res, { type: "provider", provider: providerName, ...authInfo })
108
+ .then(() => {
109
+ res.redirect("/");
110
+ })
111
+ .catch((e: any) => {
112
+ res.status(500).json(getErrorAsObject(e));
113
+ });
114
+ }
115
+ }
116
+ )(req, res);
103
117
  }
104
118
  );
119
+
105
120
  });
106
121
  }
107
122
 
@@ -110,7 +125,7 @@ export function getProviders(this: AuthHandler): AuthSocketSchema["providers"] |
110
125
  if(!registrations) return undefined;
111
126
  const {
112
127
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
113
- email, websiteUrl, onRegister,
128
+ email, websiteUrl, onRegister, onProviderLoginFail,
114
129
  ...providers
115
130
  } = registrations;
116
131
  if(isEmpty(providers)) return undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.147",
3
+ "version": "4.2.148",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -174,7 +174,9 @@ function dd(){
174
174
  }
175
175
  return undefined;
176
176
  },
177
- login: async ({ username, password } = {}) => {
177
+ login: async (loginData) => {
178
+ if(loginData.type !== "username") throw "Only username login is supported";
179
+ const { username, password } = loginData;
178
180
  const u = users.find(u => u.username === username && u.password === password);
179
181
  if(!u) throw "something went wrong: " + JSON.stringify({ username, password });
180
182
  let s = sessions.find(s => s.user_id === u.id)
@@ -203,6 +205,7 @@ function dd(){
203
205
  clientID: "GITHUB_CLIENT_ID",
204
206
  clientSecret: "GITHUB"
205
207
  },
208
+ onProviderLoginFail: console.error,
206
209
  onRegister: console.log
207
210
  },
208
211
  }
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.146",
24
+ "version": "4.2.147",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "body-parser": "^1.20.3",