【发布时间】:2017-02-05 19:20:33
【问题描述】:
所以我有一个网站,我们称之为mic.com。该网站在mic.com/api1、micic.com/api2下有一些api。我正在使用 ajax 向 API 发送请求,其中 Authorization: JWT 作为标头。我已将设置设置为接受 JWT 令牌作为 API 的身份验证。当我通过我的 aws (python manage.py runserver 0.0.0.0:8000) 使用虚拟 python 服务器对其进行测试时,一切正常
但是当我通过 Cloudflare 的 DNS 实时托管实际站点时,每当我尝试访问 API 时都会收到 401 未授权。 (我可以使用基于会话的登录[意味着转到 APIview,然后使用凭据登录以访问 API] 很好,但是当我尝试通过 ajax 请求(通过mic.com)远程访问它或使用'curl - H “Authorization: JWT ”mic.com/api' 从我本地计算机的终端,我得到一个 401 身份验证凭据没有提供'。这是因为 Cloudflare 的安全性还是什么?我该如何绕过这个?我注意到有当我进入实时站点时,一个 cfuid cookie。
这是我的 ajax 请求设置
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
});
$.ajax({
beforeSend: function(request)
{
request.setRequestHeader("Authorization", " JWT "+jwtToken);
},
url: "/api1/",
dataType: 'json',
method: 'GET',
})
【问题讨论】:
标签: python ajax django api cloudflare