【发布时间】:2020-11-08 01:18:29
【问题描述】:
我让 VueJS 前端与 Rails 后端通信。我可以成功创建1 一个会话并接收要存储的CSRF 令牌,但是当部署在Heroku 上时,它从未在后续Axios 请求中发送2。它在 localhost 上运行良好,并且前端和后端都托管在 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
【问题讨论】:
标签: ruby-on-rails http cookies axios