嘿夥計們,這似乎一直在討論相當頻繁,但我想做一個簡單的,淡化的問題圍繞使用RESTful服務進行身份驗證。場景如下:RESTful用戶認證服務
- 有一個系統,爲註冊用戶提供一個應用程序。系統公開用於訪問這些用戶的RESTful API。
- 有一個具有登錄表單的前端應用程序。應用程序可以是內部的,也可以是外部的。
- 前端應用程序需要使用用戶系統中的數據來認證用戶。現在
的問題是如何將其憑據(用戶名/密碼),在用戶系統中,使得它的安全性和高性能的針對數據的客戶端應用程序中輸入驗證用戶的身份?爲了這個問題,假設客戶端應用程序在某種Intranet內部,但應用程序不會駐留在同一臺機器上,並且只能通過服務進行通信。
我明白應用程序是「超媒體驅動」的想法,但我們應該能夠提供過濾/搜索服務。例如,考慮資源和如下API:
- http://example.com/users
- GET - 檢索所有用戶(分頁,超媒體驅動)
- POST - 創建新的用戶
- PUT/DELETE不支持
- http://example.com/users/[id]
- GET - 返回與ID = {ID}
- PUT用戶的完整表示 - 更新用戶,需要在任何預定義的媒體類型
- 刪除 - 刪除用戶(具有適當的授權)不支持
- POST
基於上述,我的想法是在客戶端應用程序中獲取用戶列表,通過用戶名進行過濾。該服務將把散列的密碼和salt返回給客戶端,客戶端將執行認證。
想法?
你能更具體地說明問題是什麼嗎?我很難理解你想要什麼樣的反饋。 – 2010-01-07 05:38:38