gpt4 book ai didi

具有远程 jwt 身份验证的 Django REST

转载 作者:行者123 更新时间:2023-12-01 06:03:26 25 4
gpt4 key购买 nike

我将创建一个必须是远程用户的 Django REST 项目:外部服务器公开身份验证 api 并使用 JWT 。它也向我公开了一个不记名 token ,以允许我使用 api。
我的 Django 将不得不公开 api 以供客户端(移动应用程序)进行身份验证。
我不太清楚如何处理身份验证流量:我是否必须构建自定义身份验证?

最佳答案

我可能可以帮助您在 DRF 项目中实现 JWT。我希望它能让您对问题的 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),
}

现在要了解每个设置的作用,请参阅文档。即便如此,如果您需要澄清任何一点,我也很乐意解释。

关于具有远程 jwt 身份验证的 Django REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42512677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com