簡體   English   中英

nodejs會話cookie瀏覽器存儲

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM