![](/img/trans.png)
[英]Why is the express session cookie not stored in the browser's cookie storage on production but is working on localhost/development? (express + react)
[英]nodejs session cookie browser storage
服務器是帶有快速會話,通行證,快速的Node.js
我想避免在用戶未通過身份驗證時保存cookie ,這可能嗎?
var sessionStore = new session.MemoryStore;
app.use(session({
cookie: { maxAge: null,
httpOnly: true,
secure: true,
},
store: sessionStore,
resave: 'false',
secret: 'somthing',
name: "id",
saveUninitialized: false
}));
是否可以僅在用戶成功登錄后才存儲cookie? 謝謝!
您必須創建一個快速會話: https : //www.npmjs.com/package/express-sessions ,然后按以下方式存儲該會話:
let session = require("express-session");
app.use(session({
secret: "secret",
resave: false,
saveUninitialized: true,
cookie: {secure: true,
httpOnly: true,
maxAge: 1000 * 60 * 60 * 24
}
}));
該會話將在您訪問網頁期間存儲。 如果要為cookie設置值,只需在請求中請求cookie並設置某種值:
router.route("/login")
.post(function(req, res) {
req.session.Auth = req.body.user // => user values?
})
或者您可以使用cookie-session( https://www.npmjs.com/package/cookie-session )
如果您使用cookie會話,則如果對會話變量或從服務器端進行了任何更改,則無需重新啟動服務器。
app.use(cookieSession({
name: 'session',
keys: ['key1', 'key2']
}))
app.get('/', function (req, res, next) {
// Update views
req.session.views = (req.session.views || 0) + 1
// Write response
res.end(req.session.views + ' views')
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.