使用Django Rest Framework JWT时处理CSRF令牌

时间:2018-09-22 06:38:52

标签: vue.js vuejs2 django-csrf django-rest-framework-jwt

对API的每个请求都具有JWT令牌时,我应该保留CSRF保护吗?当然,考虑到没有人可以访问他人的jwtoken。

如果是的话,由于我不使用Django模板(我分别使用Vue),如何获得csrf令牌。

如果没有,可以从设置中完全删除CSRF中间件吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

如果将JWT存储在localStorage中,那么您就不会受到CSRF的攻击,因为无法跨域访问localStorage。但是,您应该知道,对于将JWT保留在localStorage中是否明智之举存在争议,因为如果您成为XSS的受害者,它可能会被盗。另一种方法是将令牌存储在httpOnly cookie中,在这种情况下,您必须使用CSRF保护。

答案 1 :(得分:0)

如果您使用的是Django,则csrf_token将出现在您的站点Cookie中。 您可以从Cookie中访问它,并将其与请求一起传递。