【发布时间】:2021-02-18 09:30:03
【问题描述】:
我需要让第三方用户访问我拥有的一些 REST API。我创建了一个APIkey 模型,它将存储生成的密钥,可用于访问 API。
我只是还不知道如何将 API 密钥添加到我的应用程序的身份验证中,因为我的 auth.py 中已经有一个 BearerTokenAuthentication
【问题讨论】:
标签: django django-rest-framework
我需要让第三方用户访问我拥有的一些 REST API。我创建了一个APIkey 模型,它将存储生成的密钥,可用于访问 API。
我只是还不知道如何将 API 密钥添加到我的应用程序的身份验证中,因为我的 auth.py 中已经有一个 BearerTokenAuthentication
【问题讨论】:
标签: django django-rest-framework
通常在 Django 中,身份验证对应于特定的用户,而 API 密钥可以识别 客户端应用程序 或其他用户代理。您可能决定向每个用户分发一个唯一的 API 密钥 - 在这种情况下,这只是验证用户的另一种方式 - 但您通常可以为应用分配一个 API 密钥,甚至第三方组织/系统。您的其中一个 API 可能需要识别用户和客户端应用程序,在这种情况下,您需要用户身份验证和 API 密钥。另一个 API 可能只需要知道客户端应用程序,在这种情况下,只需 API 密钥就足够了。
API 密钥通常作为“x-api-key”HTTP 标头传递。您必须在视图中检索此标头并查找 APIkey 的模型实例。
【讨论】:
BearerTokenAuthentication 和 ApiKeyTokenAuthentication?那就是我要验证令牌的地方吗?