django rest框架的api密钥权限

djangorestframework-api-ke的Python项目详细描述


Django REST Framework API密钥

Django REST Framework的API密钥权限

build statuspackage versioncode style
python versionsdjango versionsdrf versions

导言

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

变更日志

CHANGELOG.md

贡献

CONTRIBUTING.md

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么只为字符数组重载println方法,而不为字符串、整数等其他数组重载?   java将快速线程返回到池中,而不是等待慢速线程   创建jar文件时java SwingWorker不工作   java如何将依赖注入RabbitListener   java如何在gradle任务中通过scp复制目录?   java在MySql数据库中创建表时,遇到NullPointerException   java HTTP Status 500 Servlet执行引发异常   在JAVA中对arraylist使用继承时出错   java PowerMockito未完成存根异常   如果没有错误/警告增加到某个极限,java是否停止在eclipse中构建项目或使用maven?   java Robolectric如何测试DateFormat。getBestDateTimePattern()   google云平台GCP数据存储Java API,构建一个空值实体   VerifyListener和FocusListener之间的java冲突   安卓是否可以在Java中的另一个方法内部强制调用一个方法?   JavaWindows7、JDK1.8、SpringBoot应用程序JAR在方法安全性方面占用了大量时间。getProviders()返回   Bean提供程序的java错误消息   java Slick动画每帧必须有一个持续时间   java无法在Trie中设置isLeaf标志   java为什么JVM不能创建包含main方法的类的对象,以便从该类访问main方法,如果它具有该类的名称?   java Apache Camel+CXF端点身份验证