【发布时间】:2016-09-19 09:05:58
【问题描述】:
我在 django 中创建了一个 web 应用程序,在 nginx webserver/reverse-proxy 后面的 gunicorn 应用程序服务器中运行。我需要有外部应用程序来访问一些处理过的数据(csv/json),为此我需要某种身份验证。基本的 django auth/login 不是最佳的,因为一个简单的脚本需要通过一个简单的请求来提取数据,没有 cookie 等(不是我创建的)。
现在,我有
设置仅可使用 https/tls 的服务
在 django 中创建了一个 IP 过滤器以减少“攻击面”:
request.META['HTTP_X_REAL_IP']
并使用 nginx 转发 ip:
proxy_set_header X-Real-IP $remote_addr;
接下来我正在考虑包含需要包含在请求中的应用程序密钥(pw 或其他内容的哈希),并针对 db 检查有效密钥列表。
这是一个合适的 api 身份验证还是有其他可以使用/推荐的东西?某种应用程序关键框架?
【问题讨论】: