Как отправить объект пользовательских данных вместе с токеном в угловой интерфейс, используя узел? - PullRequest
0 голосов
/ 07 апреля 2019

Во время регистрации и входа в систему я хочу отправить данные пользователя вместе с JWT, чтобы я мог обновлять данные профиля текущего пользователя.

router.post('/signup', (req, res) => {
    let userData = req.body;
    let user = new User(userData);

    user.save((err, registeredUser) => {
        if(err) {
            console.log(err);
        }else{
            let payload =  { subject : registeredUser._id }
            let token = jwt.sign(payload, 'abcd');
            res.status(200).send({token});
        }
    });
});

Как я могу отправить объект зарегистрированного пользователя вместе с токеном.

1 Ответ

1 голос
/ 07 апреля 2019

Два способа:

  1. Простой и грубый: res.status(200).send({token, user})
  2. Предоставление пользовательских заголовков из вашего бэкэнда и отправка токена как часть ответа.Затем вы можете использовать тело ответа для простой отправки данных пользователя / ресурса.res.status(200).send({user}).

Обычно # 2 - лучший дизайн, так как токен больше похож на информацию об аутентификации / сеансе и может быть перехвачен с помощью пользовательского промежуточного программного обеспечения / фильтров (например, PassportJS) на серверной части и всегда присоединен как частьзаголовков запроса от внешнего интерфейса с использованием угловых перехватчиков.

Опции быстрой настройки: заголовки. https://expressjs.com/en/resources/middleware/cors.html#configuration-options

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...