MEAN Stack войти / зарегистрироваться на другой странице, чем основное приложение

0

Извините за мой плохой английский!
Я создаю приложение, используя MEAN Stack (MongoDB + Express.js + Angular.js + Node.js) и аутентификации с использованием passport.js и JWT (jsonwebtoken и express-jwt).
Что я хочу сделать?
Маршруты входа и регистрации отображают html, используя nunjucks, и, если он идет успешно, мы обрабатываем файл index.html, размещая его в общедоступном каталоге.
PS: Это правильный метод?
В чем мой вопрос?
Может ли кто-нибудь сказать мне, технология для этого?
Мой код (на основе https://thinkster.io/mean-stack-tutorial):

app.get('/', function(req,res){
if (!req.user)
  res.redirect('/about')
else
  res.render('index')
});

app.get('/login',function(req, res) {
  res.render('auth/login', {
    title: 'Login'
  });
});

app.post('/',  function(req, res, next) {
    if (!req.body.login || !req.body.password) {
      return res.status(400).json({ message: 'Please fill out all fields' });
    }
    passport.authenticate('local', function(err, user, info) {
      if (err) { return next(err); }
      if (user) { return res.json({ token: user.generateJWT()});
      /*generateJWT form user model code returns jwt.sign({}) using jsonwebtoken:
          var jwt = require('jsonwebtoken');
       */
      } else { return res.status(401).json(info);}
    })(req, res, next);
  });

В этом коде мы возвращаем сгенерированный токен, если логин является успешным. Что я должен сделать для рендеринга index.html и что я могу сделать с созданным токеном? Извините за эти фиктивные вопросы, я все еще изучаю jwt. Благодаря

  • 0
    Это правильный код узла на стороне сервера?
  • 0
    Думаю, это правильно, я просто пытался бежать. Вы видите какие-либо ошибки? Спасибо за ответ
Теги:
mean-stack
jwt

1 ответ

0

Узел - это серверный язык. Поскольку вы используете стек MEAN, как правило, вам нужно создавать API-интерфейсы в узле и передавать данные на стороне клиента "Угловая".

Поэтому, чтобы ответить на ваш question- Чтобы отобразить html, ваша функция для входа в систему должна вернуть что-то клиенту, используя обратные вызовы, и Angular отобразит ваши html-страницы.

Что вам нужно сделать с созданным токеном, так это то, что со следующего запроса на сервер без токена будет/должна генерировать ошибку. Кроме того, любой пользователь может назвать ваши API-интерфейсы узлов и желаемые результаты. Это крайне необходимо для методов GET.

  • 0
    Спасибо. В угловом я хочу использовать UI-маршрутизатор для создания маршрутов. Но моя страница Войти это посмотреть , как это , и индекс страницы выглядят как это . Поэтому я подумал, что мне нужно визуализировать страницу входа в бэкэнд и базовую логику (после входа в систему) в интерфейсе, используя angular. Как обычно делают шаблоны входа и регистрации, такие как AdminLte ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню