У меня есть многостадийный Angular.js формы для Signup, который сохраняет все входные пользователь в:
$scope.user = {};
Затем я использую ng-submit
так:
<form class="css-form" name="myForm" ng-submit="signup()" novalidate>
функция Регистрация затем делает запрос POST к моему Node.js API на /signup
маршрут как так:
$scope.signup = function(){
return $http.post('/signup',$scope.user).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
console.log("this is the response data " + data);
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
console.log("this is the error " + data);
});
};
Примечание: Вышеприведенная информация успешно регистрирует нового пользователя и сохраняет данные в MongoDB.
выпуск:
Я использую Passport.Js сторону сервера для аутентификации пользователей & регистров. Я использую local-signup.
Проблема в том, что если пользователь успешно зарегистрирован, он должен быть автоматически перенаправлен на определенную страницу и тот же, если они не увенчались успехом. Ниже мой сервер код сторона:
app.post('/signup', passport.authenticate('local-signup', {
successRedirect : '/profile', // redirect to the secure profile section
failureRedirect : '/', // redirect back to the signup page if there is an error
failureFlash : true // allow flash messages
}));
Вопрос заключается в том, что на ОБОИХ успешно регистрации & неудачно, он не перенаправляет пользователя на основе маршрутов, предоставленных. Он отправляет обратно фактический код перенаправленных страниц в данные ответа. Поэтому при успешной регистрации он должен отправить пользователя в профиль & на главную страницу, если не удалось
Я, похоже, не могу решить эту проблему, может быть, вся моя техника неправильна. Любая помощь будет оценена по достоинству.
Спасибо большое за ответ. Это сработало отлично. Знаете ли вы о каких-либо рисках, связанных с этим подходом, или это безопасно? – Skywalker
Существует никаких рисков: это стандартный способ аутентификации через запрос xhr –
Спасибо за помощь. Застрял в этом целыми днями! – Skywalker