我有它使用許多不同的技術,如Java的,.NET等因此,我的用戶憑據存儲在一個單獨的數據庫客戶應用的Web API Web服務。如何爲我的Web API Web服務實現身份驗證和授權?
我的Web服務託管內IIS我已經配置並啓用服務器端SSL這可以確保請求/響應消息進行加密和簽名。
我還配置了IIS的IP地址限制功能,以允許來自少數幾個已知IP地址的請求。
我不喜歡使用基本身份驗證因爲它以純文本格式發送憑證,但每封郵件都使用SSL加密。
我不能使用集成Windows身份驗證顯然是因爲我的用戶與我的服務器不在同一個域中。
我不能使用表單身份驗證因爲我的客戶端不是基於瀏覽器的。
那麼爲我的web服務實現身份驗證和授權的最佳方式是什麼?
我在想一個辦法是提供一個進行身份驗證(用戶名,密碼)Web方法其行爲類似於身份提供商/安全性令牌服務,併產生特定於該用戶的令牌,該令牌後,某些到期時間。然後,客戶端必須發送帶有每個Web方法請求的身份驗證令牌,並通過爲我的控制器創建自定義授權過濾器來確保它。
這種方法的優點是用戶不必爲每個請求發送用戶名/密碼,而只需要一個臨時令牌。顯然,管理令牌生活的缺點是;它應該何時到期?例如如果一小時內沒有提出請求。
什麼是爲我的web服務實現身份驗證和授權的最佳方式?
如果會話使用SSL進行保護,那麼數據並不是以明文形式發送的,對嗎? :-) – Craig 2013-06-24 15:20:37