Я хочу использовать куки сессии, магазин с паспортом, потому что магазин памяти не предназначен для производства:Использование cookieSession с паспортом
Warning: connection.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.
Вот мой Экспресс инициализации:
app.use(express.bodyParser({keepExtensions:true}));
app.use(express.cookieParser(cookieSecret));
app.use(express.cookieSession({
key: cookieKey,
secret: cookieSecret,
maxAge: sessionTimeout
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
Все работает нормально, если я меняю express.cookieSession
- express.session
. При использовании cookieSession
вход пользователя успешно завершен, но пользователь больше не регистрируется после загрузки следующей страницы. Любые советы, как сделать работу паспорта с сессиями cookie?
Я использую Экспресс 3.0.0
Спасибо, но не помогло: \ –
@MattiLehtinen хорошо, что можно заставить его работать, я это сам :) Может быть, вы можете использовать ваши браузеры устр инструменты см., что отправляется туда и обратно между браузером и сервером с точки зрения файлов cookie и т. д. – robertklep
Я выполняю аутентификацию через ajax POST-вызов, и кажется, что браузер не устанавливает cookie, хотя возвращается следующее: 'Set-Cookie: local.sess = s% 3Aj% 3A% 7B% 22passport% 22% 3A% 7B % 22user% 22% 3A5% 7D% 7D.OPxdoZ1oPKboHJEhz7uSPJiBxSIRavEByC7f1yEn1Xc; Path = /; Expires = Thu, 17 Oct 2013 16:09:36 GMT; HttpOnly' Мой сервер работает на 'localhost: 3000', а клиент JS загружается с того же сервера. –