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

标签 javascript node.js sails.js

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

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

sails.js 会是什么?等价?

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

谢谢!

最佳答案

最好创建 View 和 Controller 对,因为我们可以进行更多自定义。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);
  }
}

关于javascript - 如何路由到 sails.js 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884048/

相关文章:

node.js - NestJS - Mongoose @InjectConnection 单元测试

node.js - 有谁知道如何在 NestJS 中实现 Honeybadger 日志记录?

javascript - Sails.JS - NTLM 身份验证失败时重试?

javascript - 通过类/id 从附加元素中删除标签

javascript - aurelia 中使用 repeat.for 绑定(bind)自定义元素的正确方法是什么

javascript - 能够序列化/重新水合元素状态的 JS 库

Sails.js 复合唯一字段

javascript - 为什么我不能删除这个对象的类/属性

node.js - 什么是开发环境,如何设置?

sails.js - 缩小所有的sails.js 提供的html