我已經設置了一個基於web的API來允許遠程應用程序獲取/發佈數據。每個API調用都使用用戶ID和密碼進行驗證,該用戶ID和密碼使用只有遠程應用程序和網站才知道的密鑰加密。此認證不僅確保用戶可以訪問該API,而且還允許我根據用戶的配置文件實現安全功能(即用戶A可以看到項目A & B,但不能看到項目C)。如何爲本地和遠程請求實現API安全性?
我希望我的服務器端網站頁面能夠通過AJAX調用遠程調用相同的API方法,但是,在代碼中存儲加密密碼看起來不正確,而且我的網站實現了一個「登錄爲」功能,這將不允許我設置加密密碼,因爲密碼不是以純文本格式存儲的。
對於不需要加密用戶密碼的遠程和「本地」調用實現API安全性的好方法是什麼?
只是爲了澄清,沒有祕密密鑰存儲可查看客戶端,密碼也不是以純文本形式存儲在任何地方。 – 2014-12-08 12:42:08
即使您在客戶端加密它們,如果客戶端可以解密,那麼攻擊者也可以解密。安全令牌更安全,因爲它們只在有限的時間內有效,並且無需在客戶端存儲祕密。 – MvdD 2014-12-08 17:25:26
對於簡單的AJAX調用,OpenId或Oauth是不是過度矯枉過正? – 2014-12-08 21:05:29