代码之家  ›  专栏  ›  技术社区  ›  lonix

护照的认证功能如何知道要认证哪个请求?

  •  0
  • lonix  · 技术社区  · 6 年前

    这个 passport docs 使用此选项保护路由:

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

    如何 authenticate() 知道要验证哪个请求?我没有把请求转达给它。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Molda    6 年前

    这个 passport.authenticate 返回函数。

    你可以试试这个

    console.log(passport.authenticate('basic', { session: false }));
    

    它会打印出

    function(req, res, next){ ... }
    

    这意味着 app.get 你的应用程序启动后会像这样

    app.get('/api/me',
        function(req, res, next){
             // now passport has access to the "req" even though you didn't pass request to it
             // passport's authentication logic here
        },
        function(req, res) {
           res.json(req.user);
        });