我创建了一个应该同时响应移动设备和网络浏览器的 API。例如,/web/toys
对于 Web 和/API/toys
JSON 响应。我正在使用 JW 令牌作为身份验证手段。
我在 HTML 和后台显示表单,我调用 jQuery Ajax 的方法来发布到我的 API。我将 access_tokens 保存在会话 cookie 中。为了防止 CSRF 攻击,我使用了 Flask-JWT-Extended。
当我装饰视图@jwt_required
并将 CSRF 设置为 Truemissing JWT in headers and cookies
时,即使设置和传输 cookie,我也会得到 。查了源码,发现X-CSRF-TOKEN
在请求头中设置很重要。
但是,由于端点同时响应 GET 和 POST 调用,我如何在 GET 调用中设置标头而不使用 jQuery 加载完整页面。?
基本上,我想在网页上显示表单,当用户单击提交时,使用 jQuery 将表单传输到现有 API。
如果有更好的处理方式,我很想知道。
谢谢!