1

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

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

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

还是我缺少任何其他最佳实践?

4

1 回答 1

0

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

于 2012-06-20T14:58:12.303 回答