首页 > 解决方案 > 保护 Django API 的最佳方法是什么?

问题描述

我已经部署了一个由 Django Rest Framework 提供支持的 Django API,其中一些开放端点和一些使用令牌身份验证的 Authenticated 端点。

保护入口 API 只允许从应用前端团队发送请求的最佳方法是什么?我正在考虑使用 Nginx 基本身份验证,但随后授权标头重复,因此令牌身份验证不起作用。

标签: djangodjango-rest-framework

解决方案


如果前端团队使用静态地址(例如允许的主机),您可以通过过滤 IP 地址来过滤 API 中的访问。

此外,您可以将前端团队的用户添加到特定组中或提供相同的角色并通过实现可重用的自定义 DRF 权限来过滤访问。

另一个选项可能是使用自定义 HTTP 标头或 API 密钥(例如 X-API-KEY 标头)。


推荐阅读