Não sei nada sobre criptografia. Estou me perguntando qual é o segredo da sessão.
Eu vejo um código como este:
app.use(express.session({
store: mongoStore({
url: app.set('db-uri')
}),
secret: 'topsecret'
}));
Qual é o segredo e devo alterá-lo?
topsecret
. O segredo deve ser uma sequência aleatória de caracteres. O ideal é que você também o altere periodicamente, caso seja descoberto. No entanto, isso requer suporte para rotação de segredo para que você não invalide imediatamente as sessões existentes. Ou seja, dois segredos de sessão devem ser considerados válidos simultaneamente. Que eu saiba, o Express não oferece suporte para segredos rotativos no momento.res.cookie('name', 'value', {signed: true})
O segredo é usado para hash da sessão com HMAC:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256
A sessão é então protegida contra sequestro de sessão, verificando a impressão digital em relação ao hash com o segredo:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287
fonte
chave secreta basicamente usada para criptografar dados na sessão
fonte