【发布时间】:2017-10-29 07:37:13
【问题描述】:
当用户使用提供的表单注册时,我需要发送 CSRF 令牌。
但是,由于注册/登录将是第一次与 django REST API 交互,所以我在加载网页时创建了一个虚拟 GET 请求以从 django 检索 CSRF 令牌。
令牌被检索并存储在 cookie 中。
但是,我仍然从 django 获得Forbidden (CSRF cookie not set.)。
这是我的 axios POST 请求。
import axios from 'axios'
axios.defaults.xsrfCookieName = 'vcubes'
axios.defaults.xsrfHeaderName = 'X-CSRFToken'
let req = {
url: 'http://localhost:9000/vcubes/signup/',
method : 'POST',
headers: {
'Content-Type': 'text/plain'
},
data: data
}
注意:
当我将withCredentials: true 添加到 axios POST 的标头中时,浏览器会发送 OPTIONS 请求而不是 POST。
【问题讨论】: