Вы можете сделать следующие две вещи для достижения этой цели:
Сначала вам нужно переопределить Parse login с вашим собственным логином, вы можете сделать что-то вроде этого:
// this will add sessionToken in a cookie, which can be later used to check if your user is logged in or not
app.post('/login', function(req, res) {
Parse.User.logIn(req.body.username, req.body.password).then(function(user) {
var val = JSON.stringify({sessionToken: user.getSessionToken()});
var opts = {path: '/', httpOnly: true};
res.cookie('parse.session', val, opts);
res.redirect('/');
}).then(null, function(error) {
res.clearCookie('parse.session');
res.render('pages/login', { flash: error.message });
});
});
Теперь вы необходимо добавить промежуточное программное обеспечение, чтобы получить этого пользователя от повара ie:
// Middleware adding current user to `req.user` or redirecting to login if not logged in
app.use(function (req, res, next) {
var cookie = null;
new Parse.Promise.as().then(function() {
cookie = JSON.parse(req.cookies['parse.session']);
return Parse._request('GET', 'users/me', {}, {sessionToken: cookie.sessionToken});
}).then(function (userData) {
userData.sessionToken = cookie.sessionToken;
req.user = Parse.Object.fromJSON(userData);
next();
}).then(null, function () {
res.clearCookie('parse.session');
return res.redirect('/login');
});
});
Теперь можно смело предполагать, что если пользователь достиг Home. html, он будет зарегистрированным пользователем. Тем не менее, я бы не советовал помещать HTML файлы в папку publi c, вместо этого используйте шаблонизатор.