2016-07-25 56 views
0

我試圖在任何地方找到解決方案,但沒有運氣。使用passportjs和nodejs連接閃存json響應

我的路線上我的NodeJS API的應用程序,如:

app.post('/login', passport.authenticate('local-login', { 
    successRedirect: '/profile', 
    failureRedirect: '/login', 
    failureFlash: true 
})); 

然後,在我的護照的策略是這樣的:

passport.use('local-login', new LocalStrategy({ 
    usernameField: 'email', 
    passwordField: 'password', 
    passReqToCallback: true 
}, 
    function (req, email, password, done) { 
     User.findOne({ 'local.email': email }, function (err, user) { 
      if (err) { 
       return done(err); 
      } 
      if (!user) { 
       return done(null, false, req.flash('LoginMessage', 'No User Found!')); 
      } 
      if (user.local.password != password) { 
       return done(null, false, req.flash('LoginMessage', 'Wrong Password!')); 
      } else { 
       return done(null, user); 
      } 
     }) 
    } 
)); 

我需要什麼,是接收消息的JSON返回我的路線,所以我可以使用Angularjs或其他任何外部應用程序訪問它。所以輸出會是這樣的:

{ 
"message": "User Not Found!" 
} 

我怎樣才能解決這個問題?

回答

0

要初始化message作爲角變量,你可以在你的視圖文件做到這一點(如果你使用ejs):

ng-init="message = '<%= message %>'" 

進一步,美國可以用這個變量

工作