我想使用2种不同的' 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
而不是{{1}}。
我做错了吗?
答案 0 :(得分:1)
我找到了根本原因。 我没有意识到命名策略也是在oauth回调期间执行的。 我只有一个回调定义如下:
function fbCallback(req, res, next){
passport.authenticate('facebook-connect', ...
我必须定义第二个回调并使用 facebook-login 命名策略调用authenticate
方法