Recently I changed the hosting of my node website for client from Glitch to Cyclic. But I found 2-3 days ago that after logging into the admin's dashboard, I was successfully redirected to the dashboard, but whenever I want to enter admin's pages I am redirected to the home page with the message "You do not have access to this page" (from middleware isLoggedIn). On localhost and Glitch, all work fine, but on Cyclic this problem. And here we come to the question from the question title: Does passport.js require additional config on Cyclic? I've already added a cookie parser.
My current app.js file:
const express = require("express"),
app = express(),
mongoose = require("mongoose"),
helmet = require("helmet"),
Driver = require("./models/driver"),
passport = require("passport"),
announcementRoutes = require("./routes/announcement"),
applicationRoutes = require("./routes/application"),
characteristicRoutes = require("./routes/characteristic"),
courseRoutes = require("./routes/course"),
installmentRoutes = require("./routes/installment"),
eventRoutes = require("./routes/event"),
driverRoutes = require("./routes/driver"),
linksRoutes = require("./routes/links"),
officesRoutes = require("./routes/office"),
subpageRoutes = require("./routes/subpage"),
messageRoutes = require("./routes/message"),
listRoutes = require("./routes/list"),
listElementRoutes = require("./routes/listElement"),
apiRoutes = require("./routes/api"),
galleryRoutes = require("./routes/gallery"),
indexRoutes = require("./routes/index"),
LocalStrategy = require("passport-local"),
methodOverride = require("method-override"),
bodyParser = require("body-parser"),
cookieParser = require('cookie-parser'),
flash = require("connect-flash");
mongoose.connect(process.env.DATABASE_URL, {useNewUrlParser: true});
app.use(flash());
app.set("view engine", "ejs");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser())
app.use(express.static(__dirname + "/public"));
app.use(helmet({
contentSecurityPolicy: false
}))
app.use(methodOverride("_method"));
app.use(require("express-session")({
secret: "<key>",
resave: false,
saveUninitialized: false
}));
app.use(function(req, res, next) {
res.locals.host = req.headers.host;
res.locals.error = req.flash("error");
res.locals.success = req.flash("success");
res.locals.currentUser = req.user;
next();
});
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(Driver.authenticate()));
passport.serializeUser(Driver.serializeUser());
passport.deserializeUser(Driver.deserializeUser());
app.use("/gallery",galleryRoutes);
app.use("/courses/:course_id/installments",installmentRoutes);
app.use("/courses/:course_id/events",eventRoutes);
app.use("/courses",courseRoutes);
app.use("/courses/:course_id/characteristics",characteristicRoutes);
app.use("/applications",applicationRoutes);
app.use("/announcements",announcementRoutes);
app.use("/driver",driverRoutes);
app.use("/driver/:driver_id/offices",officesRoutes);
app.use("/links",linksRoutes);
app.use("/subpages",subpageRoutes);
app.use("/subpages/:subpage_id/messages",messageRoutes);
app.use("/subpages/:subpage_id/lists",listRoutes);
app.use("/subpages/:subpage_id/lists/:list_id/listElements",listElementRoutes);
app.use("/api", apiRoutes);
app.use(indexRoutes);
app.listen(process.env.PORT);