在没有ajax的函数中表达中间件

时间:2018-05-28 10:24:19

标签: node.js express middleware

我有以下方法

app.post('/auth', passport.initialize(), passport.authenticate('local', { session: false,scope: [] }), serialize, generateToken, respond);

这很好用

现在我想要下面的

accesstokenController.auth =  function(req, res) {

  console.log('Here auth called');
  // execute middleware
  };

var oAthmiddleware =  [passport.initialize(), passport.authenticate(
  'local', {
    session: false,
    scope: []
  }), serialize, generateToken, respond];

像这样打电话

router.post('/auth', function(req, res) {
    oauth.auth(req, res);
});

如何做到这一点

1 个答案:

答案 0 :(得分:0)

您可以将中间件用作:

声明您的中间件并处理身份验证:

app.use(function (req, res, next) {
    // do authentication
    // if fails
    res.statusCode = 401;
    res.setHeader('WWW-Authenticate', 'Basic realm="MyApp"');
    res.end('Unauthorized');
    // if success call next();
    next();
}

声明您的路线:

app.post('/auth', function(req, res) {
    // perform route related things
});