コールバックルートで実行します。
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');
});
ここでは、Facebookのログインにpassport.js
を使用しました。 /facebook/callback
/login
にリダイレクトしました。/login
にセッションが設定されているかどうかを確認する機能があります。
if (Helper.isLoggedIn(req)) {
res.redirect('/');
return;
}
Helper.js
内部isLoggedIn
の定義は
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;
}
あなたがクライアント上 – lustoykov
あなたはおそらく({redirectURI: "/アップロード"} res.jsonを使用する代わりにres.redirect使用していないAJAX要求し、そのために使用すること)そしてクライアントの応答でajax要求の応答を処理する - redirectURIを取得し、基本的にwindow.location = response.redirectURIを書く – mike
ああ、それは今私にとってもっと意味がある、私はそれを行って、感謝します。 – Brian