Javascript 如何将passport facebook用于同一服务上的多个应用程序?
我用passport facebook设置了我的facebook登录,如下所示Javascript 如何将passport facebook用于同一服务上的多个应用程序?,javascript,node.js,passport.js,passport-facebook,Javascript,Node.js,Passport.js,Passport Facebook,我用passport facebook设置了我的facebook登录,如下所示 passport.use(new FacebookStrategy(secrets.facebook, function(req, accessToken, refreshToken, profile, done) { if (req.user) { User.findOne({ facebook: profile.id }, function(err, existingUser) { if
passport.use(new FacebookStrategy(secrets.facebook, function(req, accessToken, refreshToken, profile, done) {
if (req.user) {
User.findOne({ facebook: profile.id }, function(err, existingUser) {
if (existingUser) {
...bla bla
user.save(function(err) {
req.flash('info', { msg: 'Facebook account has been linked.' });
done(err, user);
});
});
}
});
} else {
User.findOne({ facebook: profile.id }, function(err, existingUser) {
if (existingUser) return done(null, existingUser);
User.findOne({ email: profile._json.email }, function(err, existingEmailUser) {
if (existingEmailUser) {
...bla bla
user.save(function(err) {
done(err, user);
});
}
});
});
}
}));
我的路线是这样的:
router.get(namespace + '/auth/facebook', passport.authenticate('facebook', { scope: ['email', 'user_location'] }));
router.get(namespace + '/auth/facebook/callback', passport.authenticate('facebook', { failureRedirect: '/login' }), function(req, res) {
res.json({})
});
问题是,我在这项服务上运行了不止一个应用程序,我希望所有应用程序都能使用facebook进行身份验证,但我希望每个应用程序都能查询并保存到不同的数据库,这意味着不同的用户
模型
我可以通过路由呼叫传递它(用户)吗?我可以启动几个“facebook登录”并对每个应用程序使用不同的登录吗