ошибка fetch() с «учетными данными: true» в пользовательском скрипте Tampermonkey в Chrome

#cors #fetch #tampermonkey #userscripts

#cors #выборка #tampermonkey #пользовательские скрипты

Вопрос:

При Cookie отправке credentials: true fetch запроса — в пользовательском скрипте Tampermonkey в Chrome отсутствует заголовок -, даже если CORS настроен правильно. В чем проблема?

Дополнительная информация:

Тот же код работает, как и ожидалось, в пользовательском скрипте Tampermonkey в Firefox.

У меня есть конечная точка API на сервере с несколькими источниками, которая правильно настроена для приема конкретного fetch запроса credentials: true .

Это мой текущий код:

 fetch('https://example.com/api/my/endpoint', {
    credentials: 'include',
    headers: {
        'Content-Type': 'application/json'
    }
});
  

Запрос OPTIONS -preflight-на example.com выполняется успешно и возвращается со следующими заголовками:

 access-control-allow-origin: https://requestingsite.com
allow: GET, OPTIONS
access-control-allow-methods: GET, OPTIONS
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Cookie, Authorization, Pragma
access-control-allow-credentials: true
  

После этого GET выполняется запрос -request to example.com . Он работает так, как ожидалось в Firefox — он отправляет необходимый Cookie заголовок в запросе.

Однако в Chrome это не работает. Запрос в Chrome содержит необходимый Origin заголовок и соответствует тому, что находится внутри заголовка access-control-allow-origin , возвращаемого сервером.

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

1. Можете ли вы попробовать открыть проблему на github.com/Tampermonkey/tampermonkey/issues ?