手动呼叫护照进行身份validation

我使用护照开发了一个由oauth2身份validation保护的宁静的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); 

在这种情况下,路由受到保护,并且需要发送有效令牌才能访问路由。

我想find一种方法来手动validation我的“用户”,通过调用一个函数,它采取我想要authentication的用户的用户名和密码。

护照公开了可用于手动login用户的req.login()函数。

 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'); }); });