Passport.jsvalidation不起作用

我正尝试第一次设置护照,只用一个谷歌login选项。 我注册与谷歌apis所以我有所有的设置。 相关代码在下面,但是当我的应用程序进行'/auth/google/'调用时,它只是失败,没有响应或错误消息。 我已经调整了一些configuration的方式无济于事。 我也用console.logreplace了passport.authenticate('google')和一个匿名函数来仔细检查我的Web服务是否正常运行。 所以我知道它正在passport.authenticate('google')

  // serialize session passport.serializeUser(function (user, done) { done(null, user.id); }); passport.deserializeUser(function (obj, done) { done(null, obj); }); // use google strategy passport.use(new googleStrategy({ clientID: config.google.clientID, clientSecret: config.google.clientSecret, callbackURL: config.google.callbackURL, scope: 'https://www.google.com/m8/feeds https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile' }, function(accessToken, refreshToken, profile, done) { console.log(profile); } )); app.use(passport.initialize()); app.use(passport.session()); app.get('/auth/google', passport.authenticate('google')); app.get('/auth/google/callback', passport.authenticate('google', { failureRedirect: '/', scope: 'https://www.google.com/m8/feeds' }), signin); 

编辑:这是我的http请求,我正在使用angular度,这个function是绑在ng按一下button。

 $scope.signIn = function () { $http({method: 'GET', url: '/auth/google'}). success(function (data, status, headers, config) { console.log('success'); }). error(function (data, status, headers, config) { console.log(data); console.log(status); console.log(headers); console.log(config); }); }; 

那些日志没有任何回报

您需要在GoogleStrategy的中间件内调用done()

 passport.use(new GoogleStrategy({ ... }, function(accessToken, refreshToken, profile, done) { console.log(profile); // Add this done(null, profile);//profile contains user information }); 

在这里find这个