simple-images-upload/src/libs/passport.js
2023-09-23 20:54:44 +02:00

59 lines
1.5 KiB
JavaScript

/* eslint-disable func-names */
import {Strategy as LocalStrategy} from 'passport-local';
import {BasicStrategy} from 'passport-http';
import Users from '../models/Users';
export default (passport) => {
passport.serializeUser((user, done) => {
done(null, user);
});
passport.deserializeUser((user, done) => {
done(null, user);
});
passport.use(
'user',
new LocalStrategy(
{
usernameField: 'email',
passwordField: 'password',
},
(email, password, done) => {
Users.findOne({email})
.then((user) => {
if (!user || !user.validPassword(password)) {
return done(
null,
false,
{message: 'Oops! Identifiants incorrects'},
);
}
return done(null, user);
})
.catch(done);
},
),
);
passport.use(
'basic',
new BasicStrategy((email, password, done) => {
Users.findOne({email})
.then((user) => {
if (!user || !user.validPassword(password)) {
return done(
null,
false,
{message: 'Oops! Identifiants incorrects'},
);
}
return done(null, user);
})
.catch(done);
}),
);
};