У меня есть приложение на angularJs 1.6, созданное с использованием стека MEAN, я использую паспорт для аутентификации.
Когда я решаю проверить его с помощью ionic, само приложение работает хорошо (файлы в основном идентичны) но аутентификация с паспортом не работает
Я могу зарегистрироваться и войти в систему пользователя, но когда я хочу проверить, зарегистрирован ли пользователь с помощью req.isAuthenticated () на моем сервере, он всегда отвечает false.
Я думаю, это потому, что когда я делаю запрос из моего обычного углового приложения, запрос содержит объект пользователя с паролем и электронной почтой, но когда я делаю это из моего ионного приложения, пользователь пропускает
Я провел день, работая над этим, любая помощь была бы отличной!
РЕДАКТИРОВАТЬ 1:
Извините, что не включилкод, это мой первый опыт здесь
Мой маршрут входа в систему + моя функция для входа в систему
app.post('/api/login', login);
function login(req, res, next) {
//console.log(req);
passport.authenticate('local-login', function(err, user, info) {
if (err) {
return next(err); // will generate a 500 error
}
// Generate a JSON response reflecting signup
if (! user) {
return res.send({success : 'false', message : req.flash('loginMessage') });
}
req.login(user, function(err) {
if (err) { return next(err); }
//console.log(req);
return res.send({success : 'true', message : req.flash('loginMessage') });
});
})(req, res, next);
}
Проблема в том, что req.login выполнен, и я получаю успех: правда, но сприложение ionic / cordova, кажется, ничегобыть запомненным
После этого, когда я пытаюсь проверить, зарегистрирован ли пользователь с этим
app.get('/api/login/loggedin', function(req, res) {
res.send(req.isAuthenticated() ? req.user : '0');
});
, я всегда получаю '0', я думаю, что это потому, что приложение Cordova / Ionic не можетиспользовать cookie-файлы (разница между запросами также заключается в отсутствии cookie-файлов от ionic), но я не могу понять, как управлять решением, которое работает как с моим угловым веб-приложением, так и с его ионной версией (все еще с паспортом)