AJAX-запрос. Регистрация и авторизация

176
04 ноября 2018, 09:30

При нажатии на 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);
});
Answer 1

А зачем вам редирект на стороне сервера? Возвращайте информацию об успешном входе и делайте редирект с клиента. Location docs

READ ALSO
Удаление из обьекта JS

Удаление из обьекта JS

Записывать получаеться , а удалить заставить не могу

191
StringFormat & число только с целой частью

StringFormat & число только с целой частью

Есть ли формат для чисел с целой частью, чтобы разбивал сам по тысячам и тд

135