通过Postman发送CSRF令牌

12

我正在用Postman测试我的Web服务器的登录功能。首先,我向我的登录网址发送GET请求,并获得一个CSRF令牌作为cookie。然后,我使用我的用户名、密码和CSRF令牌向该登录页面发出POST请求。

我的问题是,当我在Postman中执行这个操作时,尝试进行登录的POST请求会返回403禁止访问错误。我将接收到的CSRF令牌复制并将其作为POST参数之一,同时使用有效的用户名和密码。这里有什么我忽略的吗?


1
你是否设置了一个名为 csrfmiddlewaretoken 的会话 cookie? - Andrey Shipilov
成功登录后,无需向请求提供用户名和密码,您只需要CSRF令牌,因为您已经通过身份验证。 - Nizarazo
3个回答

18

您需要将其设置为请求的标头,而不是请求体中。 X-CSRFToken是键,值是来自cookie的CSRF令牌。如果您正在使用像TastypieDjango Rest Framework这样的API框架,则此方法可行。

如果您没有使用API层进行身份验证,则需要实际上附加cookie或创建带有CSRF令牌的cookie。 这篇文章解释了如何操作。


0
尝试在GoogleChrome上安装Postman Interceptor扩展。这对我有用。

-3

对我有效:

在Postman头中设置:

键:Authorization

值:Token“您的令牌”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接