Passport 不止一次验证策略(使用多重策略)
Passport is authenticating strategies more than once (using multistrategies)
我已经配置 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 策略是否与正确的访问令牌一起工作,但策略 "succeeds" 不止一次,我的 API调用 Node.js 最终会说 "Cannot GET /api/authenticate".
我的错。在承载策略中调用 done() 两次。
我已经配置 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 策略是否与正确的访问令牌一起工作,但策略 "succeeds" 不止一次,我的 API调用 Node.js 最终会说 "Cannot GET /api/authenticate".
我的错。在承载策略中调用 done() 两次。