gpt4 book ai didi

Django REST 即使使用 TokenAuthentication 也要求 CSRF token

转载 作者:行者123 更新时间:2023-12-05 03:06:27 27 4
gpt4 key购买 nike

我正在为移动和 Web 环境构建一个服务器,我希望 session 身份验证与 token 身份验证一起进行。然而,这些似乎相互矛盾。我对两种方案中的登录有不同的看法。

如果我在可浏览 API 中以用户身份登录,然后为其他用户发送 token 登录请求,服务器会提示没有 CSRF token 。但是,如果我注销,突然就没有问题了。

我不确定前端实现后会有多严重,登录来自不同的设备,但到目前为止看起来不太好。

如果 Authorization: Token <token> 正确,知道如何停止要求 CSRF token 吗? header 通过了吗?或者对我的问题有不同的解决方案?

最佳答案

DRF 的默认 SessionAuthentication 后端的构建方式是,如果您在请求中提供有效 session ,它将打开 CSRF 验证。有两种可能的解决方案:不要同时使用两种身份验证方法(在请求中发送有效 session cookie 时不要使用 token )或通过将 TokenAuthentication 后端放在 之上来优先 token 身份验证DEFAULT_AUTHENTICATION_CLASSES 设置中的 code>SessionAuthentication

关于Django REST 即使使用 TokenAuthentication 也要求 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com