J'essaie de créer un formulaire de connexion simple permettant aux utilisateurs de se connecter à un site Web, puis d'enregistrer leurs données de session dans un cookie de session. J'utilise express-session et dans leur documentation, il donne ceci comme exemple de configuration :
app.post('/login', express.urlencoded({ extended: false }), function (req, res) { // login logic to validate req.body.user and req.body.pass // would be implemented here. for this example any combo works // store user information in session, typically a user id req.session.user = req.body.user // save the session before redirection to ensure page // load does not happen before session is saved req.session.save(function (err) { if (err) return next(err) res.redirect('/') }) }) })
Mais dans mon code, je reçois toujours une erreur dans la section "req.session.user" qui dit : "La propriété 'utilisateur' n'existe pas sur le type 'session et section'" même si j'utilise exactement le même code dans la documentation de la session express.
J'ai suivi toutes les instructions de la documentation et mis ceci en haut du programme :
import session from 'express-session'; app.set('trust proxy', 1); app.use(session({ name: `First_test`, secret: 'secret_text', saveUninitialized: true, resave: true, cookie: { secure: false, maxAge: 960000 } }));
Pendant le débogage, je peux voir qu'il n'y a effectivement aucun attribut "user" dans req.session.
J'ai cherché sur Google et Stackoverflow mais je n'ai pas trouvé de solution. Il me manque probablement quelques petites étapes et j'espère que quelqu'un ici pourra m'aider à m'éduquer.
Merci d'avance pour votre aide.
Du
@types/express-session
paquet, nous pouvons voirPar conséquent, vous devez déclarer l'attribut
user
sur l'objet session comme ceci :Version du package :
"express-session": "^1.17.1"