如何在邮递员中自动设置CSRF令牌?
Django内置了CSRF保护机制,可通过不安全的方法对请求进行保护 ,以防止跨站点请求伪造 。 在AJAX POST方法上启用CSRF保护后,应在请求中发送X-CSRFToken标头。
邮递员是测试API的一种广泛使用的工具。 在本文中,我们将看到如何设置CSRF令牌并在Postman中自动更新它。
CSRF令牌邮递员
Django在登录时设置csrftoken cookie。 登录后,我们可以从Postman中的cookie中看到csrf令牌。
我们可以获取此令牌并将其手动设置在标题中。
但是,此令牌到期时必须手动更改。 在到期的基础上进行此过程变得很乏味。
相反,我们可以使用Postman脚本功能从cookie中提取令牌并将其设置为环境变量。 在邮递员的“测试”部分,添加以下行。
var xsrfCookie = postman.getResponseCookie("csrftoken"); postman.setEnvironmentVariable('csrftoken', xsrfCookie.value);
这将提取csrf令牌并将其设置为当前环境中名为csrftoken的环境变量。
现在,在我们的请求中,我们可以使用此变量设置标头。
当令牌过期时,我们只需要再次登录即可,而csrf令牌会自动更新。
结论
在本文中,我们了解了如何在Postman中自动设置和更新csrf令牌。 我们可以在CAPI或httpie等其他API客户端上遵循类似的技术来设置csrf令牌。
最初于 2019 年2月28日 发布在 avilpage.com 。
From: https://hackernoon.com/automatically-set-csrf-token-in-postman-django-tips-c9ec8eb9eb5b