您可以简单地使用以下库。让我帮您做一个简短的描述。
安装djangorestframework-api-key
- 运行以下命令安装 djangorestframework-api-key :
pip install djangorestframework-api-key
- 将该应用添加到您的
INSTALLED_APPS:
# settings.py
INSTALLED_APPS = [
# ...,
'rest_framework',
'rest_framework_api_key',
]
- 使用
python manage.py migrate 运行迁移
设置所需权限:
HasAPIKey 权限类要求所有客户端提供有效的 API 密钥,无论它们是否提供身份验证详细信息。
与每个权限类一样,您可以全局使用它们:
# settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework_api_key.permissions.HasAPIKey',
]
}
或基于视图的类
# views.py
from rest_framework.views import APIView
from rest_framework_api_key.permissions import HasAPIKey
class UserListView(APIView):
permission_classes = (HasAPIKey,)
# ...
创建和管理 API 密钥:
API 密钥可以使用djangorestframework-api-key 本身提供的管理面板创建管理和撤销。
提出授权请求:
在您的应用程序上启用 API 权限后,客户端可以发出如下授权请求:
curl -H 'Api-Token: YOUR_API_TOKEN_HERE' -H 'Api-Secret-Key: YOUR_API_SECRET_KEY_HERE' http://localhost:8000/my-resource/
这个答案主要是here 提供的文档的简短版本。您可以查看它的官方文档以获得更详细的说明和示例项目。