访问的用户http://localhost/login
会立即重定向到 Facebook,以确认应用程序的使用情况。一旦获得授权,Facebookhttp://localhost/login?code=
将使用一个特殊代码联系,该代码允许服务器获取用户的信息,例如他们的姓名和性别。
Express().get('/login', Passport().authenticate('facebook', {
failureRedirect: 'http://localhost/',
}), function(req, res) {
database.saveData(req.user, **randomlyGeneratedHash**);
res.cookie('session', **randomlyGeneratedHash**);
res.end();
});
这按预期工作,但是当经过身份验证的用户/login
连续访问时,整个过程会重复,他们会得到一个新的 cookie。
有没有一种方法可以在 Express 和 Passport 之间运行一些代码,如果用户已经拥有有效的 cookie,则可以阻止 Passport 重定向到 Facebook?