4
我将创建一个必须是远程用户的Django REST项目:外部服务器公开身份验证API并使用JWT。它暴露我也是一个不记名的标记,以允许我使用apis。 我的Django将不得不公开api来验证客户端(移动应用程序)。 我在脑海中没有太多清楚的如何处理身份验证流量:我是否必须构建自定义身份验证?使用远程jwt认证的Django REST
谢谢!
我将创建一个必须是远程用户的Django REST项目:外部服务器公开身份验证API并使用JWT。它暴露我也是一个不记名的标记,以允许我使用apis。 我的Django将不得不公开api来验证客户端(移动应用程序)。 我在脑海中没有太多清楚的如何处理身份验证流量:我是否必须构建自定义身份验证?使用远程jwt认证的Django REST
谢谢!
我可能可以帮助您在DRF项目中实施智威汤逊。我希望这会给你一些关于你的问题的REST的清晰。
在项目设置文件,包括在INSTALLED_APPS JWT
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'rest_framework.authtoken',
'rest_framework_swagger',
'rest_framework_jwt',
'django_filters',
'corsheaders',
'sslserver',
]
然后使该条目 -
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'core.pagination.StandardPageNumberPagination',
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
}
然后
JWT_AUTH = {
'JWT_SECRET_KEY': SECRET_KEY,
'JWT_GET_USER_SECRET_KEY': None,
'JWT_PUBLIC_KEY': None,
'JWT_PRIVATE_KEY': None,
'JWT_ALGORITHM': 'HS256',
'JWT_VERIFY': True,
'JWT_VERIFY_EXPIRATION': True,
'JWT_LEEWAY': 0,
'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=300),
'JWT_ALLOW_REFRESH': False,
'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7),
}
我们了解每一种设置,请参阅文档。即使如此,如果您需要澄清任何问题,我会很乐意解释。