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

Handling CSRF token when working with Django Rest Framework JWT

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

如果是,我不使用 django 模板(我单独使用 Vue),如何获取 csrf 令牌。

如果不是,是否可以从设置中完全删除 CSRF 中间件?

提前致谢。

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

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