Axios: файл cookie XSRF не отправляется с запросом в рабочей среде

#ruby-on-rails #http #cookies #axios

#ruby-on-rails #http #файлы cookie #axios

Вопрос:

У меня есть интерфейс VueJS, который разговаривает с серверной частью Rails. Я могу успешно создать 1 сеанс и получить токен CSRF для хранения, но он никогда не отправляется 2 в последующих запросах Axios при развертывании на Heroku. Он отлично работает на локальном хостинге, и оба интерфейса и серверная часть размещены на herokuapp.com так что SameSite не должен быть проблемой.

Axios настроен на включение токена XSRF в запросы:

 const API_URL = process.env.VUE_APP_API_URL || "http://localhost:8080";
axios.defaults.baseURL = API_URL;
axios.defaults.headers.post["Content-Type"] = "application/json";
axios.defaults.xsrfCookieName = "CSRF-TOKEN";
axios.defaults.xsrfHeaderName = "X-CSRF-Token";
axios.defaults.withCredentials = true;
  

Как я могу гарантировать, что Axios передаст этот файл cookie в мое приложение Rails? Изображения ниже: файл cookie возвращается при создании сеанса, а затем не включается в следующий запрос.

[введите описание изображения здесь1

введите описание изображения здесь

Ответ №1:

В итоге это стало проблемой.herokuapp.com нахождение в общедоступном списке суффиксов. Добавление пользовательского домена решило проблему.

https://devcenter.heroku.com/articles/cookies-and-herokuapp-com