【发布时间】:2014-04-21 09:26:18
【问题描述】:
嘿,
我正在构建一个(半)REST API,以 Nodejs/Express 作为后面,Phonegap/Cordova 作为前面。
对于后端,我使用express 和connect-mongo 和mongoose,如下所示:
express.cookieParser(),
express.session({
secret: nconf.get('session:salt'),
store: new mongoStore({url: nconf.get('database').url})
}),
对于节点上的会话验证,我在 route.js 文件中创建了以下函数
var authenticate = function (req, res, next) {
if (req.session.user)
next();
else
res.error('access is not authentication');
}
很遗憾,PhoneGap 和 Cordova 不支持开箱即用的 cookie,所以我使用 localStorage
存储 session_id 并包装每个服务器调用以将其聚合到 url 参数。
有没有什么优雅的方法可以通过 'session_id' 参数在我的 authenticate 函数中从 mongoDB 预加载会话,而无需为会话集合创建 Schema 并尝试使用 mongoose 查询它?
干杯,
-PK。
【问题讨论】:
标签: node.js mongodb session cordova mongoose