Хранение браузера cookie сеанса nodejs - PullRequest
0 голосов
/ 05 февраля 2019

Сервер - это nodejs с экспресс-сессией, паспортом, экспрессом

Я хочу избегать сохранения куки , когда пользователь не аутентифицирован , возможно ли это?

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 только после успешного входа пользователя?Спасибо!

1 Ответ

0 голосов
/ 06 февраля 2019

Вы должны создать экспресс-сеанс: 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-сессию (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')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...