2012-06-20 78 views
1

我正在使用Django後端實現一個簡單的API,並且希望支持使用API​​密鑰的訪問控制。Django後端的API密鑰實現

作爲標準,協議將使用私鑰和公共標識符的組合來驗證請求。公共標識符,數據和散列(數據+私鑰)將被髮送到服務器。然後,服務器將使用存儲在數據庫中的私鑰複製散列函數,並且如果散列匹配,則請求被認證。

我的問題是關於'數據'部分。當然,客戶端和服務器需要同意「數據」是什麼,否則哈希將不匹配。該協議可以簡單地規定「數據」是瀏覽器發送的原始查詢字符串。在那種情況下,我如何從Django視圖中檢索原始查詢字符串(它在QueryDict中解析它,從而丟失序列信息)?

或者還有其他的最佳實踐,我失蹤了嗎?

回答

0

您始終可以通過request.body(或1.414之前的版本中的request.raw_post_data)獲取原始查詢數據。

+0

謝謝。看起來get_full_path()也會完成這項工作。 – Alienfluid