#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