diff options
| author | bobzel <zzzman@gmail.com> | 2024-05-15 10:55:17 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2024-05-15 10:55:17 -0400 |
| commit | 213e5c5ab7dcb7a92a2d6c0e2ca10433ddc3141f (patch) | |
| tree | 01a4c5501ce4e6ce8fb74c4a64acb6bc77c5562e /src/server/authentication/Passport.ts | |
| parent | c329d7719ed60d71bec4a8ac7309e33081c3373c (diff) | |
| parent | 0b1d434ad7f0d057456631ac786ed338c84a7f41 (diff) | |
merged with new eslint code
Diffstat (limited to 'src/server/authentication/Passport.ts')
| -rw-r--r-- | src/server/authentication/Passport.ts | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/server/authentication/Passport.ts b/src/server/authentication/Passport.ts index a9cf6698b..ca9e3058e 100644 --- a/src/server/authentication/Passport.ts +++ b/src/server/authentication/Passport.ts @@ -1,6 +1,6 @@ import * as passport from 'passport'; import * as passportLocal from 'passport-local'; -import { DashUserModel, default as User } from './DashUserModel'; +import User, { DashUserModel } from './DashUserModel'; const LocalStrategy = passportLocal.Strategy; @@ -11,22 +11,25 @@ passport.serializeUser<any, any>((req, user, done) => { passport.deserializeUser<any, any>((id, done) => { User.findById(id) .exec() - .then(user => done(undefined, user)); + .then((user: any) => 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 => { - if (!user) return done(undefined, false, { message: 'Invalid email or password' }); // invalid email - (user as any as DashUserModel).comparePassword(password, (error: Error, isMatch: boolean) => { - if (error) return done(error); - if (!isMatch) return done(undefined, false, { message: 'Invalid email or password' }); // invalid password - // valid authentication HERE - return done(undefined, user); - }); + .then((user: DashUserModel) => { + if (!user) { + done(undefined, false, { message: 'Invalid email or password' }); // invalid email + } else { + user.comparePassword(password, (error: Error, isMatch: boolean) => { + if (error) return done(error); + if (!isMatch) return done(undefined, false, { message: 'Invalid email or password' }); // invalid password + // valid authentication HERE + return done(undefined, user); + }); + } }) - .catch(error => done(error)); + .catch((error: any) => done(error)); }) ); |
