Node.js 使用passport facebook策略的两个实例

Node.js 使用passport facebook策略的两个实例,node.js,passport.js,passport-facebook,Node.js,Passport.js,Passport Facebook,我想使用两种不同的“passport facebook”策略。 1用于登录,1用于连接登录用户 显然,我用不同的名字来注册它们,比如 facebook = require('passport-facebook'); ... passport.use('facebook-login', new facebook.strategy(o, login)); passport.use('facebook-connect', new facebook.strategy(o, connect));

我想使用两种不同的“passport facebook”策略。 1用于登录,1用于连接登录用户

显然,我用不同的名字来注册它们,比如

facebook    = require('passport-facebook'); ...
passport.use('facebook-login', new facebook.strategy(o, login));
passport.use('facebook-connect', new facebook.strategy(o, connect));
但是,当我调用
passsport.authenticate('facebook-login',{…})(req,res,next)
时,从我的路由方法执行
connect
而不是
login

我做错什么了吗?

我找到了根本原因。 我不知道命名策略也在oauth回调期间执行。 我只定义了1个回调,如下所示:

function fbCallback(req, res, next){
   passport.authenticate('facebook-connect', ...
我必须定义第二次回调,并使用facebook登录命名策略调用
authenticate
方法