aboutsummaryrefslogtreecommitdiff
path: root/src/server/authentication/Passport.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2025-07-21 12:45:55 -0400
committerbobzel <zzzman@gmail.com>2025-07-21 12:45:55 -0400
commit401431d732fecd6bdef69d83e21253e1b157416d (patch)
tree77348c17ec94779033982c8f362c775b0564aa34 /src/server/authentication/Passport.ts
parent3b0fca96e8350c4d103833a0cee6dcdc5e781d5c (diff)
cleaning up server warnings/errors
Diffstat (limited to 'src/server/authentication/Passport.ts')
-rw-r--r--src/server/authentication/Passport.ts13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/server/authentication/Passport.ts b/src/server/authentication/Passport.ts
index a62d38e3e..38a99bd45 100644
--- a/src/server/authentication/Passport.ts
+++ b/src/server/authentication/Passport.ts
@@ -1,25 +1,28 @@
import * as passport from 'passport';
import * as passportLocal from 'passport-local';
import User, { DashUserModel } from './DashUserModel';
+import { IncomingMessage } from 'webpack-dev-middleware';
const LocalStrategy = passportLocal.Strategy;
-passport.serializeUser<any, any>((req, user, done) => {
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+passport.serializeUser<any, IncomingMessage & DashUserModel>((req, user, done) => {
done(undefined, (user as DashUserModel)?.id);
});
-passport.deserializeUser<any, any>((id, done) => {
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+passport.deserializeUser<any, IncomingMessage & DashUserModel>((id, done) => {
User.findById(id)
.exec()
- .then((user: DashUserModel) => done(undefined, user));
+ .then((user: DashUserModel | null) => user && done(undefined, user));
});
// AUTHENTICATE JUST WITH EMAIL AND PASSWORD
passport.use(
new LocalStrategy({ usernameField: 'email', passReqToCallback: true }, (req, email, password, done) => {
User.findOne({ email: email.toLowerCase() })
- .then((user: DashUserModel) => {
- if (!user) {
+ .then((user: DashUserModel | null) => {
+ if (!user?.comparePassword) {
done(undefined, false, { message: 'Invalid email or password' }); // invalid email
} else {
user.comparePassword(password, (error: Error, isMatch: boolean) => {