【问题标题】:connect-flash json response using passportjs and nodejs使用passportjs和nodejs的connect-flash json响应
【发布时间】:2016-11-28 06:50:03
【问题描述】:

我试图到处寻找解决方案,但没有运气。

我的 nodejs api 应用程序上有 Route,例如:

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!"
}

我该如何解决这个问题?

【问题讨论】:

    标签: angularjs json node.js passport.js connect-flash


    【解决方案1】:

    要将message 初始化为角度变量,您可以在视图文件中执行此操作(如果您使用的是ejs):

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

    此外,你可以使用这个变量

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 2013-12-23
      • 2012-11-28
      • 2012-07-09
      • 1970-01-01
      • 2020-02-14
      相关资源
      最近更新 更多