我想使用 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
。
我做错了什么吗?
最佳答案
我找到了根本原因。 我没有意识到命名策略也在 oauth 回调期间执行。 我只定义了 1 个回调,如下所示:
function fbCallback(req, res, next){
passport.authenticate('facebook-connect', ...
我必须定义第二个回调并使用facebook-login命名策略调用authenticate
方法
关于node.js - 使用 Passport-facebook 策略的 2 个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27850395/