У меня есть две службы, где и я хотел бы, чтобы они общались. У меня также установлен обратный прокси-сервер на порту 5470
.
В моем первом сервисе у меня есть выборка, куда я отправляю user
, и он состоит из некоторых ids
.
const response = await fetch('http://localhost:5470/api/users/facebook', {
method: 'post',
headers: { 'Content-type': 'application/json' },
body: JSON.stringify({ user })
});
const token = await response.json();
Я уловил приведенную выше выборку в другом сервисе, подобном следующему:
userRoutes.route('/facebook').get(async (req, res) => {
const {
user: { name, facebookId }
} = req.body;
try {
const userExist = await User.findOne({ facebookId });
if (!userExist) {
const id = uuid();
const user = new User({ _id: id, name, facebookId });
await user.save();
const now = new Date();
const weekInMiliseconds = 7 * 24 * 60 * 60 * 1000;
const expires = now + weekInMiliseconds;
const payload = {
userId: id,
expires
};
const token = jwt.sign(JSON.stringify(payload), COOKIE_SECRET);
res.set({ 'Content-type': 'application/json' });
res.json(token);
}
console.log('User already exist');
res.redirect('/');
} catch (error) {
console.error(error);
res.sendStatus(404);
}
});
Моя первая проблема заключается в том, что я знаю, почему не установлен файл cookie (я не получил никакой ошибки. Он просто не работает). Вторая и для меня самая важная проблема - почему не работает res.json(token);
? или, может быть, тогда это работает, почему const token = await response.json();
показывает мне FetchError: invalid json response body at http://localhost:5470/api/users/facebook reason: Unexpected token < in JSON at position 0
.
Вот репо для этого проекта.