fix: update session management settings and enhance session saving before redirecting
This commit is contained in:
parent
08981200eb
commit
78e3e6b092
@ -56,8 +56,8 @@ app.use(cors({
|
|||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
app.use(session({
|
app.use(session({
|
||||||
secret: process.env.SESSION_SECRET || 'your-secret-key-change-this',
|
secret: process.env.SESSION_SECRET || 'your-secret-key-change-this',
|
||||||
resave: true,
|
resave: false,
|
||||||
saveUninitialized: false,
|
saveUninitialized: true,
|
||||||
rolling: true,
|
rolling: true,
|
||||||
cookie: {
|
cookie: {
|
||||||
secure: process.env.NODE_ENV === 'production',
|
secure: process.env.NODE_ENV === 'production',
|
||||||
@ -117,10 +117,20 @@ app.get('/auth/steam/return',
|
|||||||
console.log('Request host:', req.get('host'));
|
console.log('Request host:', req.get('host'));
|
||||||
console.log('Request headers:', req.headers);
|
console.log('Request headers:', req.headers);
|
||||||
console.log('Response will set cookie for domain:', req.get('host'));
|
console.log('Response will set cookie for domain:', req.get('host'));
|
||||||
|
|
||||||
|
// Explicitly save the session before redirecting
|
||||||
|
req.session.save((err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Session save error:', err);
|
||||||
|
return res.redirect('/');
|
||||||
|
}
|
||||||
|
console.log('Session saved successfully');
|
||||||
|
|
||||||
// In production, redirect to root since frontend and backend are on same domain
|
// In production, redirect to root since frontend and backend are on same domain
|
||||||
const redirectUrl = process.env.NODE_ENV === 'production' ? '/' : FRONTEND_URL;
|
const redirectUrl = process.env.NODE_ENV === 'production' ? '/' : FRONTEND_URL;
|
||||||
console.log('Redirecting to:', redirectUrl);
|
console.log('Redirecting to:', redirectUrl);
|
||||||
res.redirect(redirectUrl);
|
res.redirect(redirectUrl);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -147,6 +157,17 @@ app.get('/auth/user', (req, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Debug endpoint to test cookies
|
||||||
|
app.get('/debug/cookies', (req, res) => {
|
||||||
|
res.json({
|
||||||
|
sessionID: req.sessionID,
|
||||||
|
cookies: req.headers.cookie,
|
||||||
|
session: req.session,
|
||||||
|
isAuthenticated: req.isAuthenticated(),
|
||||||
|
user: req.user
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Vote submission endpoint
|
// Vote submission endpoint
|
||||||
app.post('/api/submit-vote', async (req, res) => {
|
app.post('/api/submit-vote', async (req, res) => {
|
||||||
if (!req.isAuthenticated()) {
|
if (!req.isAuthenticated()) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user