手动调用 passport 进行身份验证
Manually call passport for authentication
我开发了一个 restful nodeJS API 受使用护照的 oauth2 身份验证保护。
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);
在这种情况下,路由受到保护,需要发送有效令牌才能访问路由。
我想找到一种方法来手动验证我的 "users",方法是调用一个函数,该函数获取我要验证的用户的用户名和密码。
Passport 公开了一个 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');
});
});
我开发了一个 restful nodeJS API 受使用护照的 oauth2 身份验证保护。
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);
在这种情况下,路由受到保护,需要发送有效令牌才能访问路由。
我想找到一种方法来手动验证我的 "users",方法是调用一个函数,该函数获取我要验证的用户的用户名和密码。
Passport 公开了一个 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');
});
});