如何路由到sails.js中的函数

时间:2013-11-09 22:45:17

标签: javascript node.js sails.js

我希望路由到一个函数,而不是一个视图(用于与3rd party API集成)。使用express,它看起来像:

app.get('/auth/signup', passport.authenticate('dailycred'));

sails.js等价物是什么?

或者是否建议通过创建一个视图和控制器对来完成此操作,该视图和控制器对将调用此函数,而不是以某种方式直接调用该函数?

谢谢!

1 个答案:

答案 0 :(得分:0)

最好创建视图和控制器对,因为我们可以进行更多自定义。等效的.sails.js

我们可以通过将此添加到route.js文件中来路由到该函数。

module.exports.routes = {
  '/auth/signup': {
    controller: 'authController',
    action: 'login'
  }
};

//将调用我们的函数的AuthController.js的示例代码

var AuthController = {
  'login': function(req, res, next) {
    passport.authenticate('google', {
        failureRedirect: '/login',
        scope: ['openid', 'email']
      },
      function(err, user) {
        req.logIn(user, function(err) {
          console.log("google")
          if (err) {
            res.view('500');
            return;
          }
          req.session.authenticated = true;
          res.redirect('/index');
          return;
        });
      })(req, res, next);
  }
}