Bri*_*ian 5 express reactjs passport.js
新手反应问题:我\xe2\x80\x99m 将其与passport.js 和express 一起使用。I\xe2\x80\x99m 成功登录应用程序。但我不知道如何进行重定向。
\n\nrouter.post('/login',\n passport.authenticate('local'),\n function(req, res) {\n // If this function gets called, authentication was successful.\n res.redirect('/upload'); //<\xe2\x80\x94\xe2\x80\x94 what I\xe2\x80\x99d like to do is some kind of redirect here\n});\nRun Code Online (Sandbox Code Playgroud)\n\n任何帮助表示赞赏。
\n在您的回调路线上执行此操作。
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');
});
Run Code Online (Sandbox Code Playgroud)
在这里,我使用的passport.js是Facebook登录。在/facebook/callback我已重定向到/login并且在/login我有一个函数来检查会话是否已设置。
if (Helper.isLoggedIn(req)) {
res.redirect('/');
return;
}
Run Code Online (Sandbox Code Playgroud)
isLoggedIn内部的定义Helper.js是
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8992 次 |
| 最近记录: |