9
按這篇文章快遞Passport.js:req.user VERSUS req.session.passport.user
http://toon.io/understanding-passportjs-authentication-flow/
它看起來好像PassportJS /快速存儲登錄的用戶在兩個地方
req.user
和
req.session.passport.user
爲什麼兩者兼而有之?我應該使用哪一個?當我使用護照註銷時,是否同時銷燬req.user和req.session.passport.user?
'req.session.passport.user'實際上是否從會話本身(而不是會話cookie)提取信息?我可能會誤解,但除非你禁用會話不是'req.user'真的只是映射到'req.session.passport.user'?我看不出兩人會有什麼不同。現在,如果您以某種方式將實際數據存儲在cookie中(而不僅僅是會話ID),然後通過'req.cookies'訪問這些數據,那麼它肯定會過時,但這是完全不同的情況。 – nextgentech 2016-10-02 22:18:22
否 - 'req.session.passport.user'被從會話cookie中拉出(無處)。這是它如何與基於cookie的會話身份驗證一起使用,除非您使用其他表單。 – rdegges 2016-10-07 18:36:17
也許我們正在談論不同的事情,但在使用MemoryStore或基於服務器的會話存儲環境中沒有意義。當使用服務器端會話存儲時,會話cookie(發送到瀏覽器)僅存儲會話ID。所有數據都保留在服務器上。會話的重點是保持數據的可用性並且在給定用戶的服務器上保持最新。會話cookie只允許瀏覽器保持與特定會話的鏈接。通過'req.session'訪問數據將始終包含最新的會話信息。 – nextgentech 2016-10-08 09:55:54