2016-12-03 41 views
0

我正在使用快遞。我有一個頁面myprofile,只有當用戶登錄時纔可以訪問。問題是我無法在用戶登錄時自動重定向回myprofile。我正在使用社交媒體OAuth登錄/護照策略。用戶登錄後如何重定向回受保護的頁面?

點擊個人資料按鈕後,出現這種情況:

home --->isAuthenticated() ---> /login ---> /

點擊個人資料按鈕後,我想:

home --->isAuthenticated() ---> /login ---> /myprofile

回答

0

最後我得到了答案。我不希望這個問題很容易解決。

了一些變化,我所做的:

function isLoggedIn (req, res, next) { 
    if (req.isAuthenticated()) { 
     return next(); 
    } else { 
     // variable holding previous path 
     req.session.returnPath = req.path; 
     res.redirect('/login'); 
    } 
} 

. 
. 
. 

    app.get('/auth/<provider>/callback', 
    passport.authenticate(<provider>, { 
     failureRedirect : '/login' 
    }), 
    function(req, res) { 
     res.redirect(req.session.returnTo || "/"); 
     delete req.session.returnTo; 
    });  
相關問題