У нас есть авторизация через дискорд и когда человек авторизовывается у него создается сессия. Информация о сессии получается на странице /api/user. Когда я захожу на эту страницу сам с браузера, то у меня правильно выводится информация: пользователь и авторизован ли он. Но когда я отправляю запрос с фронтенда, то во всех случаях у меня пишет, что пользователь не авторизован.
Запрос:
<script setup>
import { Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/vue'
import { ref } from 'vue'
const sessionInfo = ref(null) // Создаем реактивную переменную для хранения информации о сессии
const fetchSessionInfo = async () => {
try {
const response = await fetch('ссылка/api/user')
const data = await response.json()
// Обновляем информацию о сессии
sessionInfo.value = data
} catch (error) {
console.error(error)
}
}
fetchSessionInfo() // Вызываем функцию получения информации о сессии с бэкенда
console.log(sessionInfo.value) // Выводим информацию о сессии в консоль
</script>
/api/user
const config = require('../config/config');
const R = require('../config/db').R;
exports.getUserInformation = async (req, res) => {
const result = {
user: req.session.user || null,
auth: !!req.session.user,
}
res.header("Access-Control-Allow-Origin", "http://26.181.39.11:3000"); // Здесь укажите разрешенный домен
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.send(result);
};