При нажатии на submit (при регистрации) появится модальное окно с текстом об успехе и кнопочка перейти к заполнению профиля.(в моем случае url такой - http://localhost:3000/me) Делаю аяксом и в success выполняю show/hide модалке, но не понимаю как сделать автоматическую авторизацию и редирект на страницу заполнения профиля. Вроде как токен передам, но как же userId, login, password...
Нажатие на submit:
$("#regForm").submit(function (event) {
event.preventDefault();
$.ajax({
url: '/user/registration',
type: 'POST',
dataType: 'JSON',
data: $("#regForm").serialize(),
success: function (data) {
localStorage.setItem('token', data.token);
showSuccessModal();
$.ajax({
//аякс внутри аякса))
});
},
error: function (err) {
console.log(err);
}
});
});
Обычный логин с использованием PassportJS. При вводе логина и пароля редиректит на /me.
router.post("/user/login", function(req, res, next) {
passport.authenticate("local", function(err, user, info) {
var error = err || info;
if (error) {
return authError(req, res, 401, error);
}
if (!user){
return authError(req, res, 404, "Not found");
}
auth.signToken(user._id, function(err, token){
if(err){
return next(err);
}
res.cookie("token", token.jwt);
res.cookie("refreshToken", token.refresh);
res.redirect("/me");
});
})(req, res, next);
});
А зачем вам редирект на стороне сервера? Возвращайте информацию об успешном входе и делайте редирект с клиента. Location docs
Виртуальный выделенный сервер (VDS) становится отличным выбором
Ассоциация: stackoverflowcom/q/26323373/6677992
Есть ли формат для чисел с целой частью, чтобы разбивал сам по тысячам и тд