首次登录后未刷新 Django csrf 令牌

Django csrf token not refreshed after first login

我在 http://cognezic-dev.ap-south-1.elasticbeanstalk.com/login/ 托管了一个网站。仔细检查后,该表单在页面刷新和浏览器中具有相同的 csrf 令牌,我怀疑这是问题的原因,这在本地 django server.Dont 上工作正常,知道它被缓存在哪里。我也在 settings.py 中添加了 CSRF 中间件。 您可以使用测试凭据作为用户名 bismeet 和密码 bis12345 进行测试。 我还尝试创建自定义中间件,如下所示:

from django.middleware.csrf import rotate_token, CsrfViewMiddleware
from django.utils.deprecation import MiddlewareMixin

class CSRFRefresh(CsrfViewMiddleware,MiddlewareMixin):
    def process_response(self, request, response):
        print("Custom MiddleWare called")
        rotate_token(request)
        return response


但是还是失败了

带有自定义中间件的我的 settings.py 包含:

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'solvesto.middleware.csrf_refresh.CSRFRefresh'
]

如果不使用自定义中间件,我使用:

'django.middleware.csrf.CsrfViewMiddleware'

而不是

'solvesto.middleware.csrf_refresh.CSRFRefresh'

我认为使这项工作成为可能的唯一最后手段是完全删除 csrf,这当然不利于安全。

我删除了 csrf 安全性,没有其他解决方案,现在有效。