使用csrf

时间:2018-04-10 09:06:25

标签: django django-rest-framework

我是django / django-rest-framework的新手。我正在试验前端的React和后端的Django-rest-framework。客户端和服务器位于不同的域。我能够为GET请求发出POST请求,我也设法执行此操作但仅使用csrf_exempt装饰器,这不是理想的。 django文档建议我使用CSRF_TRUSTED_ORIGINS来避免csrf verification,但这对我也不起作用。这是我的 settings.py

INSTALLED_APPS = [
'api.apps.ApiConfig',
'rest_framework',
'corsheaders',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'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',
 ]
CORS_ORIGIN_WHITELIST = (
'localhost:3000',
)


CSRF_TRUSTED_ORIGINS = [
'localhost:3000'
]

我应该开始实施jwt-authentication以避免这种情况吗?解决这个问题的最佳方法是什么?

0 个答案:

没有答案