Passport不止一次验证策略(使用多策略)

时间:2015-03-17 12:21:05

标签: javascript node.js express passport.js

我已将Passport.js配置为使用多种策略:

passport.authenticate(['bearer', 'facebook-token', 'google-token', 'linkedin-token'],function(err, user, info) ...

我确信这个身份验证函数只调用一次,但在authenticate.js文件中的Passport源代码中,我看到一些策略正在执行多次。

说bearer失败,然后我想要尝试facebook-token。

我的facebookTokenStrategy代码如下:

facebookTokenStrategy: new FacebookTokenStrategy({
    clientID: process.env.FACEBOOK_APP_ID,
    clientSecret: process.env.FACEBOOK_APP_SECRET
}, function(access_token, refresh_token, profile, done) {
    someFunction().then(function(user) {
        return done(null, user)
    }, done)
}),

我已经在许多这些点上放置了控制台日志,并检查了facebook-token策略是否与正确的访问令牌一起工作,但策略"成功"不止一次,我对Node.js的API调用最终说"无法GET / api / authenticate"。

1 个答案:

答案 0 :(得分:0)

我的坏。在承载策略中两次调用done()。