2017-06-12 101 views
0

我想創建護照記住我的策略,但我不知道如何調用它。我的總體策略是在我的數據庫中存儲兩個令牌,並在客戶端的計算機上存儲cookie,然後進行比較,以確認它們是真實用戶。我目前正試圖通過app.use passport.authenticate策略,以便我可以使用我的策略驗證失敗的成功。護照本地記住我策略

在我app.js文件我有:

passport.use('rememberMe',new passportLocal.Strategy({ passReqToCallback: true }, 
    (req, cb) => { 
    //check req.cookies['token']... 
    return cb(null, (rememberMe.checkPersistance(req.cookies['token'], req.cookies['statictoken']))); 
    })); 

app.use((req, res) => passport.authenticate('rememberMe'), (req, res) => { 
    //successfully logged in! 
}) 

注:rememberMe.checkPersistance確實對數據庫進行比較,並返回一個true或false。

我的問題是,我不認爲我正確使用app.use語法,我不知道什麼是正確的方法來做到這一點。當它不在.POST函數中時,如何使用passport.authenticate?

回答

0

我想出了這個問題的答案,總體而言,我只有這個問題,因爲我不明白.get和.post如何工作。對於你傳遞的每個函數,函數都可以獲取請求,響應和下一個。

因此,您可以使用.get替換.post,以便在線看到大多數護照示例。它們之間的區別在於post是爲了發送數據而設計的,然後返回一些東西(比如登錄信息),而get則被設計成查詢某些信息的一種方式。 Here是更詳細的解釋。

相關問題