【问题标题】:API Key implementation on a Django backendDjango 后端的 API 密钥实现
【发布时间】:2012-06-22 18:00:31
【问题描述】:

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

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

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

或者还有其他我遗漏的最佳实践吗?

【问题讨论】:

    标签: django api http authentication get


    【解决方案1】:

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

    【讨论】:

    • 谢谢。看起来 get_full_path() 也可以完成这项工作。
    猜你喜欢
    • 2012-12-18
    • 2015-07-08
    • 1970-01-01
    • 2013-05-10
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多