#session #next.js #express-session #vercel
Вопрос:
Я пытаюсь сохранить сеанс в своем приложении NextJS.
Следующая настройка работает, когда я устанавливаю «безопасный» в значение false, но при значении true она создает новый сеанс при каждом запросе. Приложение работает по протоколу https.
import nextConnect from 'next-connect';
import passport from 'passport';
import '../lib/passport-local';
import db from './../db/models/index';
var session = require('express-session');
var SequelizeStore = require("connect-session-sequelize")(session.Store);
var myStore = new SequelizeStore({
db: db.sequelize,
checkExpirationInterval: 15 * 60 * 1000, // The interval at which to cleanup expired sessions in milliseconds.
expiration: 24 * 60 * 60 * 1000 // The maximum age (in milliseconds) of a valid session.
})
const auth = nextConnect()
.use(
session({
name: 'as-auth',
saveUninitialized:true,
secret: process.env.TOKEN_SECRET,
store: myStore,
resave: false,
cookie: {
maxAge: 60 * 60 * 1000, // 1000 hours,
httpOnly: true,
secure: process.env.NODE_ENV === 'production',
path: '/',
sameSite: 'lax',
},
})
)
.use(passport.initialize())
.use(passport.session())
myStore.sync();
export default auth