Je ne sais rien de la cryptographie. Je me demande quel est le secret de la session.
Je vois du code comme celui-ci:
app.use(express.session({
store: mongoStore({
url: app.set('db-uri')
}),
secret: 'topsecret'
}));
Quel est le secret et dois-je le changer?
topsecret
. Le secret doit être une chaîne aléatoire de caractères. Idéalement, vous devriez également le changer périodiquement au cas où il aurait été découvert. Cependant, cela nécessite la prise en charge de la rotation secrète afin de ne pas invalider immédiatement les sessions existantes. Autrement dit, deux secrets de session doivent être considérés comme valides simultanément. À ma connaissance, Express ne prend pas en charge la rotation des secrets pour le moment.res.cookie('name', 'value', {signed: true})
Le secret est utilisé pour hacher la session avec HMAC:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256
La session est ensuite protégée contre le détournement de session en vérifiant l'empreinte digitale par rapport au hachage avec le secret:
https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287
la source
clé secrète essentiellement utilisée pour crypter les données en session
la source