Você precisa entender a diferença entre um servidor expresso e um servidor NodeJS nativo, aqui meu link comparação do servidor nodejs vs servidor expresso
Então você pode fazer:
var app = express();
var server = http.createServer(app);
Isso permite que você tenha ainda a função de baixo nível com o NodeJS.
Então, se você não quiser usar módulos ou frameworks existentes, você pode construir seu próprio gerenciador de sessões:
- usando cookies
- usando IP/UA
- usando soquete
A melhor maneira seria primeiro implementá-lo com soquete , por exemplo:
server.on('connection', function (socket) {
socket.id = id;
});
ou
server.on('request', function (req, res) {
req.connection.id = id; // The socket can also be accessed at request.connection.
});
Então, você só precisa implementar um middleware que verifique o id.
Se você deseja evitar a
session prediction
, session sidejacking
, etc. você precisa combinar cookies, ip, socket e suas ideias para torná-lo mais seguro para seu aplicativo. Depois de ter feito seu gerenciador de sessões, você pode escolher onde armazenar as sessões, em um simples
object
, em redis
, em mongodb
, em mysql
... (express
use MemoryStore
por padrão, mas talvez não agora)