我現在正試圖在我的應用程序中應用護照模塊。什麼是passport.initialize()? (nodejs express)
我讀了一些手冊,並有說,
app.use(passport.intialize());
app.use(passport.session());
什麼是app.use(passport.initialize())
究竟在做什麼?
passport.session()
也許是對護照使用會話信息,
但我不知道該passport.initialize()
我現在正試圖在我的應用程序中應用護照模塊。什麼是passport.initialize()? (nodejs express)
我讀了一些手冊,並有說,
app.use(passport.intialize());
app.use(passport.session());
什麼是app.use(passport.initialize())
究竟在做什麼?
passport.session()
也許是對護照使用會話信息,
但我不知道該passport.initialize()
passport.intialize()
是初始化Passport的中間件。
Middlewares是可訪問請求對象(req),響應對象(res)和應用程序的請求 - 響應週期中的下一個中間件功能的函數。
Passport是Node認證中間件,用於認證請求。
所以基本上passport.intialize()
初始化驗證模塊。
passport.session()
是另一箇中間件,用於更改請求對象並將當前會話標識(從客戶端cookie)的'用戶'值更改爲真正的反序列化的用戶對象。 It is explained in detail here.
從Passportjs文檔想法:
在連接或快速基應用程序,passport.initialize() 中間件需要初始化Passport。如果您的應用程序 使用持久登錄會話,則也會使用passport.session()中間件必須使用 。
如果我們看看source code,我們可以看到,passport.initialize()中間件基本上護照實例添加到傳入的請求,使認證策略可以繼續進行。
如果有會話,它也被添加到請求中。