手动呼叫护照进行身份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'); }); });