我正在尝试使用 Postman 测试我的 Web 服务器的登录信息。首先,我向我的登录 URL 发送 GET 请求,并获得一个 CSRF 令牌作为 cookie。然后,我使用我的用户名,密码和 CSRF 令牌向该登录页面发出 POST 请求。
我的问题是,当我在 Postman 中执行此操作时,当我尝试使 POST 请求登录时,我收到 403 禁止错误。我正在复制收到的 CSRF 令牌并将其作为 POST 参数之一,我使用的是有效的用户名和密码。有什么我在这里俯瞰的吗?
您需要在请求中将其设置为标头,而不是在正文**中。 X-CSRFToken是密钥,值是来自 cookie 的 CSRF 令牌。如果您使用的是像Tastypie或Django Rest Framework这样的 API 框架,这将有效。
X-CSRFToken
Tastypie
Django Rest Framework
如果您在没有 API 层的情况下进行身份验证,则需要实际附加 cookie 或使用 CSRF 令牌创建 cookie。 这个帖子解释了。
尝试在 GoogleChrome 上安装Postman Interceptor Extension。它对我有用。
2 回答
您需要在请求中将其设置为标头,而不是在正文**中。
X-CSRFToken
是密钥,值是来自 cookie 的 CSRF 令牌。如果您使用的是像Tastypie
或Django Rest Framework
这样的 API 框架,这将有效。如果您在没有 API 层的情况下进行身份验证,则需要实际附加 cookie 或使用 CSRF 令牌创建 cookie。 这个帖子解释了。
尝试在 GoogleChrome 上安装Postman Interceptor Extension。它对我有用。