Приложение Nextjs: Создает новую сессию по каждому запросу

#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