【问题标题】:Why does Passport.js give me a middleware error?为什么 Passport.js 给我一个中间件错误?
【发布时间】:2012-05-16 20:41:28
【问题描述】:

我正在尝试这里描述的解决方法

https://github.com/jaredhanson/passport/issues/14

app.use(passport.initialize());
app.use(passport.session());  
app.use(app.router);
app.use(express.static(__dirname + '/public'));

工作正常

app.use(app.router);
app.use(express.static(__dirname + '/public'));
app.use(passport.initialize());
app.use(passport.session()); 

给予

DEBUG: Error: passport.initialize() middleware not in use
    at IncomingMessage.<anonymous> (/.../node_modules/passport/lib/passport/http/request.js:30:30)
    at Context.<anonymous> (/.../node_modules/passport/lib/passport/middleware/authenticate.js:92:11)
    at Context.<anonymous> (/.../core/node_modules/passport/lib/passport/context/http/actions.js:21:25)
    at Strategy.success (native)

【问题讨论】:

    标签: node.js passport.js


    【解决方案1】:

    您仍然需要在 Passport 之后app.use(app.router)。否则,您的路线将在任何 Passport 代码之前运行,这就是您看到错误的原因。这应该有效:

    app.use(express.static(__dirname + '/public'));
    app.use(passport.initialize());
    app.use(passport.session()); 
    app.use(app.router);
    

    【讨论】:

      【解决方案2】:

      可能会帮助某人,我遇到了同样的问题。我的应用配置看起来像这样。这导致了错误。

      app.configure(function() {
        ....
      app.use(app.router);    
      app.use(passport.initialize());
      app.use(passport.session());
      app.use(express.static(path.join(__dirname, 'public')));
      
      });
      

      我必须按如下方式重新排序才能正常工作。

      app.configure(function() {
        ....
      app.use(passport.initialize());
      app.use(passport.session());
      app.use(app.router);    
      app.use(express.static(path.join(__dirname, 'public')));
      
      });
      

      【讨论】:

        【解决方案3】:

        对我有用的是:

        app.use(passport.initialize());
        app.use(passport.session());
        

        在任何其他 app.use 之前。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-23
          • 2017-12-17
          • 2013-11-14
          • 1970-01-01
          • 1970-01-01
          • 2021-06-28
          相关资源
          最近更新 更多