|
- const passport = require('passport');
- const LocalStrategy = require('passport-local').Strategy;
-
- const { getUserForLoginData, getUserById } = require('./repository');
-
- module.exports = function initAuthMiddleware(app) {
- passport.use(
- new LocalStrategy(async (username, password, done) => {
- const user = await getUserForLoginData(username, password);
- if (!user) {
- return done(null, false);
- }
- return done(null, user);
- })
- );
-
- passport.serializeUser((user, done) => done(null, user));
-
- passport.deserializeUser(async (userData, done) => {
- const user = await getUserById(userData.id,userData.jwt);
- if (!user) {
- return done(`Could not deserialize user with id ${userData.id}`);
- }
- return done(null, user);
- });
-
- app.use(passport.initialize());
- app.use(passport.session());
- };
|