首页 > 解决方案 > 在访问 Django Rest API 时验证生成的 API 密钥

问题描述

我需要让第三方用户访问我拥有的一些 REST API。我制作了一个APIkey模型来存储生成的可用于访问 API 的密钥。

我只是还不知道如何将 API 密钥添加到我的应用程序的身份验证中,因为我BearerTokenAuthenticationauth.py

标签: djangodjango-rest-framework

解决方案


通常在 Django 中,身份验证对应于特定的用户,而 API 密钥可以识别客户端应用程序或其他用户代理。您可能决定为每个用户分配一个唯一的 API 密钥——在这种情况下,这只是验证用户的另一种方式——但您通常可以将 API 密钥分配给应用程序,甚至是第三方组织/系统。您的其中一个 API 可能需要识别用户和客户端应用程序,在这种情况下,您需要用户身份验证和 API 密钥。另一个 API 可能只需要知道客户端应用程序,在这种情况下,只需 API 密钥就足够了。

API 密钥通常作为“ x-api-key ” HTTP 标头传递。您必须在视图中检索此标头并查找 APIkey 的模型实例。


推荐阅读