Node.js 手动调用passport进行身份验证

Node.js 手动调用passport进行身份验证,node.js,passport-local,Node.js,Passport Local,我使用passport开发了一个受oauth2身份验证保护的restful nodeJS API var express = require('express'); var passport = require('passport'); var port = process.env.PORT || 8080; var app = express(); app.use(passport.initialize()); // Create our Exp

我使用passport开发了一个受oauth2身份验证保护的restful nodeJS API

  var express = require('express');
    var passport = require('passport');
    var port = process.env.PORT || 8080;
    var app = express();

    app.use(passport.initialize());

    // Create our Express router
    var router = express.Router();
    var creatureController = require('./controllers/creature');

    router.route('/creature').get(passport.authenticate('accessToken', {session: false}), creatureController.getProfile);
在这种情况下,路由受到保护,需要发送有效令牌才能访问路由

我想找到一种方法来手动验证我的“用户”,方法是调用一个函数,该函数接受我要验证的用户的用户名和密码。

Passport公开了一个可用于手动登录用户的函数

app.post('/login', function (req, res, next) {
    var user = User.findOrCreate(req.body);
    // … your authentication or whatever
    req.login(user, function(err){
        if(err) return next(err);
        res.redirect('/home');
    });
});

如果您想手动验证您的用户,那么为什么要使用passport?我想他的意思是手动调用
authenticate
方法。