Node.js/Passport/Connect-Filter:重构过程中的问题[已关闭]

nbnkbykc  于 2023-05-22  发布在  Node.js
关注(0)|答案(1)|浏览(125)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

19小时前关闭
Improve this question
我正在使用node.js开发一个Web应用程序,并使用passport(http://passportjs.org/)进行身份验证。我把所有的passport代码放到app.js文件中,它工作得很好...在一些重构步骤中,我决定将所有passport代码放入一个名为authentication.js的文件/模块中,这是我的问题:
在app.js中有以下“中间件”代码:

app.configure(function(){
   ...
   app.use(passport.initialize());
   app.use(passport.session());
}

我想用这样的东西来代替:

var auth = require('./authentication.js');
app.configure(function(){
   ...
   app.use(auth.initialize(app));
}

但实际上我不知道auth.initialize应该是什么样子。
我尝试了以下方法,但没有成功:

function initialize(app){
   return function(res,req,next){
      app.use(passport.initialize(res,req, next));
      app.use(passport.session(res,req, next));
      next();
}

有人对这个问题有什么想法吗?

lkaoscv7

lkaoscv71#

这个怎么样?

// app.js
var auth = require('./authentication.js');
app.configure(function(){
   ...
   auth.initialize(app);
});

// authentication.js
module.exports.initialize = function(app) {
  app.use(passport.initialize());
  app.use(passport.session());
};

请确保在配置Passport之前配置Passport所依赖的其他中间件,如express.sessionexpress.cookieParser

相关问题