我正在創建一個RESTful服務以向Web應用程序提供數據。我有兩個相關的問題。RESTful HTTP API中的授權,401 WWW-Authenticate
1.如何處理未經授權的請求?
我打算用下面的代碼請求作出迴應:
- 是資源打開後發現? 200 OK
- 您是否需要進行身份驗證才能訪問資源? 401未授權
- 難道您沒有權限訪問某個類別的資源嗎? 403禁止訪問
- 您是否有權訪問資源類別,但不訪問此特定資源? 404 Not Found阻止人們瞭解他們無法訪問的資源的存在。
- 資源是否存在? 404 Not Found
這是REST式服務行爲的推薦方式嗎?
2.什麼WWW-Authenticate
頭應該401響應供應?
我讀Wikipedia(可能不是最準確的資源,但它爲我的作品),一個401響應必須包括WWW-Authenticate
頭,但是在進一步搜索我真的無法找到說這是什麼的任何資源價值的意義和它應該是什麼。
我發現了幾個關於這個標題做題和論壇主題,他們似乎都瞭解OAuth,建議不要使用401個狀態碼或者說你可以做的東西了。
這個頭文件應該包含什麼值?
因此,在我有一個Web服務爲Web應用程序提供數據的情況下,標題是什麼樣的? 「Forms realm =」http://my.domain.com/「'是什麼? – Aidiakapi
是的,它可能看起來像這樣。這個領域不需要是域名。它可以是任何字符串。該值只是標識一組共享憑據的資源。這樣,您可以將服務器上的受保護資源分組到多個保護空間,每個保護空間都有自己的認證方案和/或授權數據庫。 – benjiman