我目前正在开发一个节点js app,我正在尝试使用Monggose-Auth创建用户身份验证过程。我已经完成了多个教程示例以及我可以找到的关于如何使用Mongoose-Auth的所有指南,但是我已经碰壁了。
我的基本密码auth似乎工作并重定向到正确的位置并保留在用户等等。我的问题是,在将我的需要登录功能添加到用户配置文件页面时,我有一个问题,我只是重定向回来到登录页面。看来这是因为当我看到我的Everyauth调试输出(mongoose-auth建立在everyauth之上)时,会话以某种方式丢失了,我看到以下内容
开始步骤 - displayLogin
......完成步骤
GET /favicon.ico
开始步骤 - extractLoginPassword
......完成步骤
开始步骤 - 验证
......完成步骤
开始步骤 - interpretUserOrErrors
......完成步骤
开始步骤 - getSession
......完成步骤
开始步骤 - addToSession
......完成步骤
开始步骤 - respondToLoginSucceed
......完成步骤
开始步骤 - respondToLoginFail
......完成步骤
GET / users / profile
开始步骤 - displayLogin
......完成步骤
GET /favicon.ico
我的应用可以在这里找到 - > https://github.com/Themitchell/Node-Express-Connect-Mongoose-Auth-Stack< - 如果你想亲眼看看,应该快速设置!它使用正确的package.json等,所以只需运行
npm install 然后 node server.js
我考虑过从其他地方拉一个例子来尝试构建,但我想了解问题是什么,而不是在我不理解的东西之上进行攻击!
据我所知,mongoose-auth不应该持久保存会话本身,而是我必须通过连接执行此操作,例如我认为我做得正确。
项目中要查看的文件可能在
中配置/ environment.js
应用程序/模型/ user.js的
最后
config / routes.js有requireLogin函数(我现在只知道它。
感谢您提前帮助人们:)
答案 0 :(得分:0)
这不是一个完整的答案,但你可以看到我如何设法在我的项目中处理Auth。 我使用Mongoose,Express,Passport + Passport Local处理Auth和connect-mongodb来持续会话(很难让整个堆栈工作)。优点是甚至可以在服务器重启之间检索会话。
链接到主文件:
重要的是:
看看我如何设置connect-db(最好看的是LoastAndFound.js或.coffee):
app.use(express.session({
secret: 'awesome unicorns',
maxAge: new Date(Date.now() + 3600000),
store: new common.mongoStore({
db: Data.mongoose.connection.db
}, function(err) {
return console.log(err || 'connect-mongodb setup ok');
})
}));
注意:请原谅我代码不完美,需要更多评论而不进行测试。