首先,你应该not store USER_INFO = {}
超出您当前请求的范围。如果两个单独的用户发出请求,那么他们将得到same目的。
您至少应该以可以检索它们的方式存储它们分别地
var USERS = {};
...
module.exports...
passport.use...
...
function(accessToken, refreshToken, profile, done) {
USERS[profile.id] = profile;
done(null, profile);
}));
现在,如果两个单独的用户提出请求,他们将获得他们的信息分别地存储在USERS
{
1234: {id: 1234, name: FOO},
6789: {id: 6789, name: BAR},
}
And done(null, profile)
would serialize
那个用户。如果您还没有定义您的序列化/反序列化函数 http://passportjs.org/docs/configure你应该这样做:
passport.serializeUser(function (user, done) {
done(null, user.id);
});
passport.deserializeUser(function (id, done) {
var user = USERS[id];
done(null, user);
});
现在您的用户将在各自的请求上下文中可用,如下所示req.user
所以你只需要做:
app.get('/fb', function (req, res) {
res.json(req.user);
});