使用Django休息框架的CSRF_FAILURE_VIEW不起作用

时间:2016-12-17 10:49:03

标签: django-rest-framework django-rest-auth

使用DRF中的TokenAuthentication对Web前端进行身份验证。我们的情况是,由于使用不同的URL访问同一网站,CSRF cookie有时会变得无效。因为用户需要在他们再次登录之前清除cookie(所有预期的行为)。

想要通过在django设置中设置CSRF_FAILURE_VIEW值来删除使用Django的Cookie,并拥有一个调用request.session.delete()的自定义视图

但是...

DRF会覆盖Django类_reject的函数CsrfViewMiddleware,这意味着永远不会访问设置CSRF_FAILURE_VIEW

class CSRFCheck(CsrfViewMiddleware):
    def _reject(self, request, reason):
        # Return the failure reason instead of an HttpResponse
        return reason

关于如何解决这个问题的任何想法?

0 个答案:

没有答案