import connectRedis from "connect-redis"; import expressSession from "express-session"; import passport from "passport"; const redisStore = connectRedis(expressSession); export class RedisPassport { public static initailize(app: any, config: any) { app.use( expressSession({ store: new redisStore({ port: config.port, host: config.host }), secret: config.secret, cookie: { maxAge: config.maxAge }, saveUninitialized: false, resave: true }) ); passport.serializeUser((user, done) => { done(null, user); }); passport.deserializeUser((obj, done) => { done(null, obj); }); app.use(passport.initialize()); app.use(passport.session()); } public static addStrategy(strategy: any) { passport.use(strategy); } }