django rest框架的api密钥权限
djangorestframework-api-ke的Python项目详细描述
Django REST Framework API密钥
Django REST Framework的API密钥权限
导言
Django REST Framework API Key是一个功能强大的库,允许服务器端客户端安全地使用您的API。这些客户端通常是第三方后端和服务(即machines),它们没有用户帐户,但仍需要以安全的方式与您的API交互
功能
- ✌️简单易用:通过管理站点创建、查看和吊销API密钥,或使用内置帮助程序以编程方式创建API密钥
- 尽可能安全:与用户密码相比,api密钥的处理级别相同。它们在存储在数据库中之前使用默认密码散列器进行散列,并且仅在创建时可见
- 可自定义:通过构建自己的自定义api密钥模型、权限类和管理面板来满足特定的业务需求。
我应该使用API密钥吗?
在切换到api密钥访问控制方案之前,需要考虑一些重要的安全方面。我们在Security caveats中列出了其中一些,包括通过https提供api。
此外,请参见Why and when to use API keys以获得有关api键是否适合您的用例的提示。
在以下情况下,API密钥是理想的:
- 阻止匿名通信。
- 实现基于api密钥的throttling。(请注意,Django REST Framework已经为这个用例提供了内置的实用程序。)
- 通过记录请求信息和API密钥来识别使用模式
它们还可以提供足够的安全性来授权内部服务,例如API服务器和内部前端应用程序
Please note that this package is NOT meant for authentication. You should NOT use this package to identify individual users, either directly or indirectly.
If you need server-to-server authentication, you may want to consider OAuth instead. Libraries such as django-oauth-toolkit can help.
快速启动
使用pip
安装最新版本:
pip install djangorestframework-api-key
将应用程序添加到您的INSTALLED_APPS
:
# settings.pyINSTALLED_APPS=[# ..."rest_framework","rest_framework_api_key",]
运行包含的迁移:
python manage.py migrate
要了解如何配置权限和管理api密钥,请转到Documentation。
变更日志
贡献
许可证
麻省理工学院