node.js - 使用 Passport-facebook 策略的 2 个实例

标签 node.js passport.js passport-facebook

我想使用 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/

相关文章:

javascript - 使用 Sinon.JS 打桩 async.waterfall

javascript - Electron/Node.js - 如何从另一个目录生成 python 脚本

Node.js Passport Facebook 身份验证未返回电子邮件

javascript - Passport 与 Express 4

node.js - Facebook 登录错误 - 使用 MEAN

javascript - 将两个 github 存储库部署到单个 azure Web 应用程序

node.js - Nest.js 在 Passport 本地策略中获取请求头

javascript - 在路由更改时重新加载不受 ngRoute 管理的 Controller

javascript - 我可以为 Passport 制定多种 Facebook 策略吗?

javascript - Node JS从mongodb返回数据时出错