【发布时间】:2014-08-28 15:27:20
【问题描述】:
我一直在为此苦苦挣扎,倾注了一堆其他 SO 答案,但似乎无法弄清楚如何使用 ApiKeyAuthentication 对我的 Django 站点的用户进行身份验证。
在这个answer 中,接受的答案是“将用户名和 api_key 参数添加到您的 GET 变量中”。我的问题是,如果 TastyPie 正在为我生成密钥,我怎么知道 api 密钥是什么?如果我想创建自己的自己的键,我应该把那个键放在哪里?
这是我的 api.py:
class SystemResource(ModelResource):
user = fields.ForeignKey(UserResource, 'user')
class Meta:
querySet = System.objects.all()
resource_name = 'system'
authentication = ApiKeyAuthentication()
当我调用 URL 时:http://192.168.1.130:8080/systems/api/v1/user/?username=garfonzo&api_key=123456789 它失败了,将我踢到了我的登录页面。当然,123456789 是完全虚构的,我没有在任何地方列出那个键,所以在某些方面很明显这是失败的)。
在文档中,它讨论了either 创建授权标头,或在请求中提供用户名/api_ky。但同样,如果我在请求中提供 api_key,我怎么知道 那个 键应该是什么?它在服务器上的哪里定义?
有什么帮助吗?
【问题讨论】: