2014-04-27 7 views
0

У меня есть настройка Passport с стратегией Facebook (только стратегия facebook), и настройте проверку, существует ли функция пользователя для сохранения пользователя в Mongodb в коллекции пользователей. Я запускаю console.log для успешного сохранения в БД, и я вижу, что пользователь успешно сохранил в коллекции (я вижу это также в самой БД с помощью терминала.Паспорт перенаправляется на страницу входа после успешного сохранения в БД

Но проблема в том, что после успешной регистрации passport.authenticate функция принимает меня на страницу входа в систему, а не на страницу "getusergames. Любая идея, почему?

function(accessToken, refreshToken, profile, done) { 
    // Checking if this user is already in DB and if no, Add this user to DB 
    insertUser.findOne({facebook_id: profile.id}, function(err, user) { 
     // Print Error 
     if (err) { 
      return done(err); 
     } 
     // Save new user if there is no user exists 
     if (!user) { 
      var userId = profile.id; 
      var userToken = accessToken; 
      var user_name = profile.displayName; 
      var newuser = new insertUser({ 
       username: user_name, 
       facebook_id: userId, 
       facebook_token: userToken 
      }); 
      newuser.save(function(err) { 
       if (err) { 
        console.log(err); 
       } else { 
        console.log('New User has Saved!'); 
        done(null, user); 
       } 
      }); 
     } 
     // If there is a user, Return his object and done. 
     else if (user) { 
      done(null, user); 
     } 

    }); 
} 

ответ

0

Итак, проблема заключалась в том, что я не ставил перед returndone(null, user);

Смежные вопросы