NodeJs护照本地策略认证

时间:2016-06-11 14:50:12

标签: node.js authentication passport.js

我想使用passport localStrategy在我的NodeJs Web应用程序中创建非常简单的身份验证。

app.post('/login', function(req, res) {
  console.log('before auth');
  passport.authenticate('local'),
    function(req, res) {
      // If this function gets called, authentication was successful.
      // `req.user` contains the authenticated user.
      // res.redirect('/users/' + req.user.username);
      console.log('auth is ok');
    }
});

我做了什么:

  1. 我的网页表单包含字段login和password以及action =“/ login”

  2. 在我的应用程序中的路由器中,我有这样的登录路径

  3. 提交表单后,我可以在我的控制台“auth”之前看到这意味着路由器正在运行。但是我看不到“auth is ok”,这意味着身份验证没有成功。

    如何在我的应用程序中实现passport.authenticate功能?

1 个答案:

答案 0 :(得分:0)

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

  passport.use(new LocalStrategy({
    usernameField: 'email',
    passwordField: 'password' 
  }, function(email, password, next) {
    //do what you want here
    //call next(pass parameter here (i.e error, object)
  }));


app.post('/login', function(req, res) {
      console.log('before auth');
      passport.authenticate('local', function(err, anotherthing){
      //err and anotherThing are the parameters send by strategy (next function). 

       });
    });

另请查看here。有关更多细节,请完成此操作。亲切的问候