cui al presente articoloespresso Passport.js: req.user VERSUS req.session.passport.user
http://toon.io/understanding-passportjs-authentication-flow/
sembra che PassportJS/espresso memorizzare l'utente collegato in due posti
req.user
e
req.session.passport.user
perché entrambi? quale dovrei usare? Quando eseguo il logout con il passaporto, distrugge sia req.user che req.session.passport.user?
Non 'req.session.passport.user' sta effettivamente tracciando informazioni dalla sessione stessa (non il cookie di sessione)? Potrei essere in qualche modo in errore, ma a meno che tu non abbia sessioni disabilitate non è 'req.user' veramente solo mappato a' req.session.passport.user'? Non riesco a vedere come i due sarebbero effettivamente mai diversi. Ora se si dovesse memorizzare in qualche modo i dati effettivi nel cookie (rispetto al solo id di sessione) e quindi accedere a tali dati tramite 'req.cookies', allora potrebbe certamente non essere aggiornato, ma quello è uno scenario completamente diverso. – nextgentech
No - 'req.session.passport.user' viene estratto dal cookie di sessione (da nessun'altra parte). Questo è il modo in cui funziona con l'autenticazione della sessione basata su cookie, a meno che tu non stia utilizzando un altro modulo. – rdegges
Forse stiamo parlando di cose diverse, ma questo non ha senso nel contesto dell'utilizzo di un MemoryStore o di una memoria di sessione basata su server. Quando si utilizza un archivio di sessione lato server, il cookie di sessione (inviato al browser) memorizza solo l'ID di sessione. Tutti i dati rimangono sul server. L'intero punto di una sessione è di mantenere i dati disponibili e aggiornati sul server per un determinato utente. Il cookie di sessione consente solo a un browser di rimanere collegato a una determinata sessione. L'accesso ai dati tramite 'req.session' conterrà sempre le ultime informazioni sulla sessione. – nextgentech