1

ビューではなく関数にルーティングしたい (サードパーティAPI と統合するため)。エクスプレスでは、次のようになります。

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

Sails.jsに相当するものは何ですか?

または、何らかの形で関数を直接呼び出すのではなく、この関数を呼び出すビューとコントローラーのペアを作成することでこれを達成することをお勧めしますか?

ありがとう!

4

1 に答える 1

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);
  }
}
于 2014-02-17T08:59:08.053 に答える