@Risdaw

Неправильно получаются данные с бэкенда?

У нас есть авторизация через дискорд и когда человек авторизовывается у него создается сессия. Информация о сессии получается на странице /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);
};
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
@iljaGolubev
const response = await fetch('ссылка/api/user', {credentials: 'include'})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы