0

I'm trying to include a middleware (passport-http-bearer) in MEAN.js, however it uses a different routing syntax than Express 4.

Express API sytnax is:

app.get('/', function(req, res){
  res.send('hello world');
});

In MEAN.js routes are defined like this:

app.route('/articles')
    .get(articles.list)
    .post(users.requiresLogin, articles.create);

How do I include a middleware in the MEAN.js router (in my case passport-http-bearer to check for a token)?

http-bearer's example implementation as middleware is:

app.get('/profile', 
  passport.authenticate('bearer', { session: false }),
  function(req, res) {
    res.json(req.user);
  });

How should I do this in MEAN.js?

4

1 回答 1

2

对于其他最终在这里试图弄清楚如何做到这一点的人来说,这是如何做到的:

app.route('/articles')
    .get(passport.authenticate('bearer', { session: false }), articles.list)
    .post(passport.authenticate('bearer', { session: false }), articles.create);

或者为了让它看起来更好,整个 auth 函数可以被放入users.authorization.server.controller.js并调用类似这样的东西:

app.route('/articles')
    .get(users.requiresToken, articles.list)
    .post(users.requiresToken, articles.create);
于 2014-09-04T04:00:16.347 回答