我正在研究一個新的Web應用程序,我想用HATEOAS,RESTful原則開發。我正在研究身份驗證方案,並且用於驗證Web應用程序的信息(通過瀏覽器,而不是機器到機器)似乎有點欠缺。僅僅使用HTTPS來保護API RESTful Web應用程序?
在建立HTTPS會話和初始登錄之後,似乎沒有任何需要傳遞令牌,cookie,HMAC,隨機數等的需求。基本認證或HMAC,OAuth等似乎也不重要:HTTPS會話是安全的。
我可能錯過了一些東西。以下是我想象我的解決方案的工作: -
- 用戶導航到Web應用程序的登錄頁面(HTTPS://acme.com/login)
- 用戶指定的用戶名和密碼,
- 網絡服務驗證用戶名和密碼:授權的資源
允許訪問對於服務器,以確定在後續請求,這既可以通過驗證的用戶: -
- 傳遞明文用戶名作爲標題或餅乾 - 這是REST風格,IMO
- 使用SSL會話ID(如果可用的框架),查找用戶。這不像會話ID需要存儲的那樣RESTful
我看不出有什麼理由使用HTTPS以外的任何其他功能。我錯過了什麼,漏洞或功能缺失?
謝謝!
我已經發展了我的「架構」,現在我正在考慮讓我的應用程序成爲服務器驅動的客戶端(瀏覽器)漸進式增強功能。它仍然是RESTful,可以從其他類型的客戶端(JSON/XML/HTML表示)驅動。但我如何使用Basic或Digest Auth進行LOGGING OFF?我可以輕鬆地使用自定義客戶端,但如何通過瀏覽器? –
我的猜測是你可以刪除基本的Auth頭。除了基本前提,我還不是100%熟悉摘要。 – Zerkz