Nodejs中的PassportJS永远不会调用callback函数

我正在尝试使用护照来validationyammer用户。

它可以通过yammerauthentication页面,我可以点击以允许访问,但function永远不会得到调用。 (正如你可能在我的代码中看到的,我只是想打印所有的accessToken,configuration文件,但它从不打印出来。)

请帮助我,我可能做不好。

 var express = require(“express”);
 var app = express();
 var passport = require(“护照”);
 var YammerStrategy = require(“passport-yammer”)。策略
 passport.use(新YammerStrategy({
   clientID:“”,
   clientSecret:“”,
   callbackURL:“/”
   },
  函数(accessToken,refreshToken,profile,done){
     process.nextTick(function(){
      的console.log( “策略”);
      的console.log(configuration文件);
      的console.log(的accessToken);
      的console.log(refreshToken);
     });

   }
 ));

 app.get('/ login',passport.authenticate('yammer'));
 app.listen(3000);
 console.log('听取端口3000');

它发生,因为你永远不会调用护照donecallback,只是调用它

 passport.use(new YammerStrategy({ clientID: "", clientSecret: "", callbackURL: "/" }, function(accessToken, refreshToken, profile, done){ console.log("strategy"); console.log(profile); console.log(accessToken); console.log(refreshToken); done(null, profile); } )); 

而且因为你不添加你的护照中间件:

 app.configure(function() { app.use(express.static('public')); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.session({ secret: 'keyboard cat' })); app.use(passport.initialize()); app.use(passport.session()); app.use(app.router); }); app.get('/login', passport.authenticate('yammer')); app.listen(3000); console.log('Listening on port 3000'); 

阅读文档 :