django - 在访问 Django Rest API 时验证生成的 API 密钥
问题描述
我需要让第三方用户访问我拥有的一些 REST API。我制作了一个APIkey
模型来存储生成的可用于访问 API 的密钥。
我只是还不知道如何将 API 密钥添加到我的应用程序的身份验证中,因为我BearerTokenAuthentication
的auth.py
解决方案
通常在 Django 中,身份验证对应于特定的用户,而 API 密钥可以识别客户端应用程序或其他用户代理。您可能决定为每个用户分配一个唯一的 API 密钥——在这种情况下,这只是验证用户的另一种方式——但您通常可以将 API 密钥分配给应用程序,甚至是第三方组织/系统。您的其中一个 API 可能需要识别用户和客户端应用程序,在这种情况下,您需要用户身份验证和 API 密钥。另一个 API 可能只需要知道客户端应用程序,在这种情况下,只需 API 密钥就足够了。
API 密钥通常作为“ x-api-key ” HTTP 标头传递。您必须在视图中检索此标头并查找 APIkey 的模型实例。
推荐阅读
- javascript - 如何在 JavaScript 中加入具有不同分隔符的数组?
- python - Python函数根据另一列填充nan值
- spreadjs - 在spreadjs中复制后如何为单元格中的双下划线文本添加内联样式
- regex - 如何跳过第一场比赛并将第二场比赛打印为 $1
- wix - 仅使用 .Net Core 的 Wix MSI Bootstrapper
- python-3.x - python - 如何在python中获取给定特定属性的父母和祖父母标签?
- php - PHP preg_replace RCE
- c++ - 当 Q_GADGET 结构位于单独的头文件中时,在 QML 中出现“未注册的数据类型”错误
- docker - Docker: Installing NVM onto Debian image, without restarting
- python - How Is tkinter not affected by threading when tkinter is always occupying the CPU?