如何解决Django中的CSRF“未设置禁止Cookie”错误?

问题描述

我将Angular 8用作前端,将Django 1.11.18用作后端。我通过命令ng server --ssl truehttps://127.0.0.1:4200上运行Angular项目,并且Django API部署在单独的redhat服务器上,可以通过https://192.xxx.x.xx:7002/

访问

我的登录名是一个GET请求,该请求返回标头中带有csrf令牌的成功响应,但那时浏览器未收到Cookie,并且当我调用POST请求时,由于CSRF令牌,这会导致“禁止错误

settings.py中的中间件是:

MIDDLEWARE = [
        'Common.customMiddleware.ProcessRequest','django.middleware.security.SecurityMiddleware','django.middleware.locale.LocaleMiddleware','django.contrib.sessions.middleware.SessionMiddleware','corsheaders.middleware.CorsMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]

我还添加了:

CSRF_TRUSTED_ORIGINS = ["127.0.0.1","192.xxx.x.xx"]

,但浏览器仍未收到Cookie

enter image description here

任何帮助将不胜感激。我还要提到的一件事是,当我在应用Django API的服务器上部署Angular项目时,应用程序运行良好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)