【发布时间】:2021-02-27 06:07:19
【问题描述】:
这是我的代码:
const functions = require('firebase-functions');
const express = require('express');
const session = require('express-session');
const FirebaseStore = require('connect-session-firebase')(session);
const firebase = require('firebase-admin');
const cookieParser = require('cookie-parser');
const ref = firebase.initializeApp(
functions.config().firebase
);
const app = express();
app.use(cookieParser());
app.set('trust proxy', 1);
app.use(session({
store: new FirebaseStore({
database: ref.database()
}),
secret: 'abigsigrettotheseeiosnofthmbiith765huig',
resave: true,
saveUninitialized: true,
cookie: { maxAge: 60000 }
}));
app.get('/', function(req, res, next) {
console.log(req.session);
req.session.username='xyz';
res.send('Filling the session with data');
});
app.get('/bar', function(req, res, next) {
console.log(req.session);
var sessionData = req.session.username;
res.send(`This will print the attribute I set earlier: ${sessionData}`);
});
exports.app = functions.https.onRequest(app);
当我运行它时,它会在数据库中创建新会话。
每次我刷新页面时,都会有一个新会话。
我当然希望只创建一个会话,
并且在刷新时,这个会话只会被更新,或者从那里获取数据。不要每次都创建一个新的。
检查 cookie - 告诉我没有保存/创建任何 cookie。
我已经为此工作了好几个小时......
【问题讨论】:
标签: node.js firebase cookies firebase-realtime-database express-session