del*_*ber 13 node.js passport.js
我正在尝试这里描述的解决方法
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'));
Run Code Online (Sandbox Code Playgroud)
工作良好
app.use(app.router);
app.use(express.static(__dirname + '/public'));
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)
给
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)
Run Code Online (Sandbox Code Playgroud)
Lin*_*iel 27
您仍然需要app.use(app.router)在Passport之后.否则,您的路由将在任何Passport代码之前运行,这就是您看到错误的原因.这应该工作:
app.use(express.static(__dirname + '/public'));
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)