CORS включен, но добавление файлов cookie в заголовок приводит к блокировке запроса? Я включил CORS с учетными данными на стороне сервера, не уверен, как это решить

#http #firefox #cors #relay #relaymodern

#http #firefox #cors #ретрансляция #relaymodern

Вопрос:

При использовании express-session so требуется идентификатор cookie для аутентификации, но даже при правильной настройке CORS (или того, что я считал) на интерфейсе и серверной части у меня все еще возникают проблемы. CORS работает без включенных файлов cookie.

Конфигурация сервера

 const corsOptions = {
  origin: "*",
  methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
  preflightContinue: false,
  optionsSuccessStatus: 204,
  credentials: true,
};
  

Конфигурация интерфейса (с использованием реле)

 const response = await fetch("http://localhost:4002/graphql", {
  method: "POST",
  credentials: "include", // Allow cookies to be sent
  headers: {
    Authorization: `*/*`,
    "Content-Type": "application/json",
}
  

Если я не включаю учетные данные, ответ показывает, что разрешены файлы cookie CORS:
введите описание изображения здесь

Однако, как только я включаю учетные данные в конфигурации выборки клиента, запрос блокируется. Ответа нет, я думаю, Firefox блокирует запрос перед его отправкой? введите описание изображения здесь

Заранее благодарю вас за любую помощь!

Комментарии:

1. Посмотрите на консоль. Если запрос блокируется правилами CORS, он должен сообщить вам, почему он существует.

Ответ №1:

Проблема заключалась в том, что для принятого источника CORS не было установлено значение «*», как указано в консоли (спасибо Квентину).