Django后端的API Key实现

时间:2012-06-20 14:54:58

标签: django api http authentication get

我正在使用Django后端实现一个简单的API,并希望使用API​​密钥支持访问控制。

作为标准,协议将使用私钥和公共标识符的组合来验证请求。公共标识符,数据和散列(数据+私钥)将被发送到服务器。然后,服务器将使用存储在数据库中的私钥复制散列函数,如果散列匹配,则验证请求。

我的问题是关于'数据'部分。当然,客户端和服务器需要就“数据”是什么达成一致,否则哈希将不匹配。协议可以简单地指示'data'是浏览器发送的原始查询字符串。在这种情况下,如何从Django视图中检索原始查询字符串(它在QueryDict中解析它,从而丢失序列信息)?

或者我还缺少其他最佳做法吗?

1 个答案:

答案 0 :(得分:0)

您始终可以通过request.body(或1.4之前的版本中的request.raw_post_data)获取原始查询数据。