我正在创建一个 Express 应用程序并使用 Parse 进行用户登录和注册。我正在尝试创建一个中间件来检查用户是否登录了某些页面,例如用户帐户页面。
这是我的代码,它会抛出错误,因为中间件函数无法访问 Parse 对象。我可以以某种方式将它传递给中间件吗?还是有更好的方法在其他地方定义中间件函数,让我可以让它知道 Parse 对象?
module.exports = function(app, Parse){
app.get('user', isLoggedIn, function(req, res, next){
// do something
}
}
function isLoggedIn(req, res, next){
if(Parse.User.authenticated()){
return next();
} else {
// do something else
}
}
最佳答案
要么在导出函数作用域内创建函数,要么返回一个函数,以便您可以传入 Parse
作为参数。
module.exports = function (app, Parse) {
app.get('user', isLoggedIn(Parse), function (req, res, next) {
// do something
});
};
function isLoggedIn(Parse) {
return function (req, res, next) {
if (Parse.User.authenticated()) {
return next();
} else {
// do something else
}
});
}
关于javascript - 我应该如何在 Node Express 应用程序中将 Parse 用户身份验证作为中间件实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30079639/