2013-07-02 213 views
4

我已經開發了一個使用django rest框架的API,並使用了基於Token的認證,現在我試圖從單獨的項目中使用它。我如何使用用戶名和密碼登錄並獲取響應令牌,並在所有下一個URL調用中使用頭中的令牌。django rest框架認證

從殼牌我已經檢查令牌用戶之一,從終端測試的API,它的工作一樣,

http://127.0.0.1:8000/corporate/company/ -H 'Authorization: Token 9f4702dfddbf89e0346b2ffd10fd69173c178273' 

但如何使用此令牌在HTTP調用?

我已經安裝的應用程序包括rest_framework.authtoken並列入urls.py網址爲:

url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token') 

現在我試圖把它從另一個項目,在那裏我已經做出登錄表單的一個訪問?現在問題是在哪裏發佈表單以及哪些字段應該在表單中。如果我發佈了表單,那麼令牌將作爲響應返回,那麼如何解析並在下一次調用中使用標題?

我已經通過教程和API指南,但沒有幫助。關於如何在Api準備就緒的情況下訪問我的項目中的api,並通過瀏覽器的api url進行登錄。

回答

3

Django rest framerwork支持許多auth選項。如果需要,您可以使用基本身份驗證。 如果您想使用該令牌,則需要爲用戶設置帶有正確標記的http標頭。

從你需要將其設置爲文檔(更換99 ......與你)

Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b 
+0

這是我已經在我的問題提及。我的問題是如何將它從完全獨立的項目中插入到網址,通過網址獲取數據。 – sharafjaffri

+0

成爲您選擇的語言,您將需要在http調用中設置標頭。在python中,你可以做一些類似於 - import httplib ... httpheaders = {'Authorization':'Token 99 ... your_token'},當你調用url時,你添加頭文件 - connection.request('GET','index .html',標題=標題) – silviud