使用 Passport.js 登录后如何通过 React 进行“重定向”?

2024-03-28

新手反应问题:我将其与passport.js 和express 一起使用。我已成功登录该应用程序。但我不知道如何进行重定向。

router.post('/login',
  passport.authenticate('local'),
  function(req, res) {
    // If this function gets called, authentication was successful.
    res.redirect('/upload'); //<—— what I’d like to do is some kind of redirect here
});

任何帮助表示赞赏。


在您的回调路线上执行此操作。

router.get('/facebook', passport.authenticate('facebook', { scope: ['public_profile', 'email'] }));

router.get('/facebook/callback',
    passport.authenticate('facebook', { failureRedirect: "/" }), function (req, res) {
        if (req.user || req.session.user)
            return res.redirect('/' + req.user._id || req.session.user._id);
        return res.redirect('/login');
    });

在这里,我使用了passport.js用于 Facebook 登录。并在/facebook/callback我已重定向到/login and in /login我有一个函数来检查会话是否已设置。

if (Helper.isLoggedIn(req)) {
    res.redirect('/');
    return;
}

的定义isLoggedIn inside Helper.js is

function isLoggedIn(req) {
    if (req.session && req.session.user_email && req.session.user_email != null) {
        if (!req.user || req.session.user == undefined || req.session.user == null) {
            loadUserFrom(req);
        }
        return true;
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Passport.js 登录后如何通过 React 进行“重定向”? 的相关文章

随机推荐