Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Passport多次验证策略(使用多策略)_Javascript_Node.js_Express_Passport.js - Fatal编程技术网

Javascript Passport多次验证策略(使用多策略)

Javascript Passport多次验证策略(使用多策略),javascript,node.js,express,passport.js,Javascript,Node.js,Express,Passport.js,我已将Passport.js配置为使用多种策略: passport.authenticate(['bearer', 'facebook-token', 'google-token', 'linkedin-token'],function(err, user, info) ... 我确信这个authenticate函数只调用一次,但是在authenticate.js文件中的Passport源代码中,我看到一些策略执行了不止一次 假设承载失败,那么我希望尝试使用facebook令牌 我的FaceB

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

passport.authenticate(['bearer', 'facebook-token', 'google-token', 'linkedin-token'],function(err, user, info) ...
我确信这个authenticate函数只调用一次,但是在authenticate.js文件中的Passport源代码中,我看到一些策略执行了不止一次

假设承载失败,那么我希望尝试使用facebook令牌

我的FaceBookToken策略代码如下:

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令牌策略是否与正确的访问令牌一起工作,但是该策略多次“成功”,并且我对Node.js的API调用最后说“无法获取/API/authenticate”。

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