2015-08-17 3 views
3

Я нашел различные способы хранения идентификатора сеанса в cookie для expressjs. На самом деле я хочу сохранить все данные сеанса в файле cookie и не беспокоиться о хранилище сеансов на стороне сервера.Store Express Session в Cookie

Почему? Мои данные сеанса крошечные и наличие хранилища сеансов в моем случае добавляет излишнюю сложность.

Это можно сделать с помощью экспресс-доставки? Бонусные баллы, если вы знаете, как их зашифровать.

+2

Нравится? https://github.com/expressjs/cookie-session – oznu

+0

Да, я так думаю. Я видел это, но документация немного запутанна. Я попробую. – Nik

+0

Да, это то, что я ищу. Благодаря! – Nik

ответ

3

Express cookie-session должно делать то, что вы хотите.

var cookieSession = require('cookie-session'); 
var express = require('express'); 
var app = express(); 

app.use(cookieSession({ 
    secret: 'secret-key-you-don\'t-tell-the-client', 
    signed: true, 
})); 

Используя комбинацию ключа secret и обеспечения куки являются signed предотвратит печенье вторжении на конечных пользователей.

После установки вы можете получить доступ к сеансу с помощью объекта req.session в своих контроллерах или использовать совместимый модуль аутентификации, такой как Passport.