我正在用Postman测试我的Web服务器的登录功能。首先,我向我的登录网址发送GET请求,并获得一个CSRF令牌作为cookie。然后,我使用我的用户名、密码和CSRF令牌向该登录页面发出POST请求。
我的问题是,当我在Postman中执行这个操作时,尝试进行登录的POST请求会返回403禁止访问错误。我将接收到的CSRF令牌复制并将其作为POST参数之一,同时使用有效的用户名和密码。这里有什么我忽略的吗?
您需要将其设置为请求的标头,而不是请求体中。 X-CSRFToken
是键,值是来自cookie的CSRF令牌。如果您正在使用像Tastypie
或Django Rest Framework
这样的API框架,则此方法可行。
如果您没有使用API层进行身份验证,则需要实际上附加cookie或创建带有CSRF令牌的cookie。 这篇文章解释了如何操作。
对我有效:
在Postman头中设置:
键:Authorization
值:Token“您的令牌”
csrfmiddlewaretoken
的会话 cookie? - Andrey Shipilov