我正在構建一個既有www前端(www.example.com)又有開發者API(api.example.com)的ASP.NET MVC 3應用程序。我想爲開發人員提供一項簡單的服務,在那裏他們註冊一個密鑰並使用它進行REST調用。我不清楚幾件事情:在ASP.NET MVC 3中創建開發者API平臺?
1)我應該如何生成和存儲密鑰?將它們以純文本格式存儲在數據庫中,還是應該對它們進行哈希和鹽化?
2)如何授權API調用?我猜我不想通過ASP.NET Membership來做到這一點。
一旦我理解了這兩個問題,像限速這樣的事情看起來很簡單。
謝謝喬爾。我當然認爲我想使用標準的基本認證加SSL方法。所以我想這意味着我需要獲得SSL證書? – 2011-04-01 04:19:58
是的,當然,使用基本身份驗證時,用戶名和密碼將以未加密方式發送。你可以使用一個自生成的證書,這個證書是免費的,但是一些框架對於如果產生一個SSL警告時不允許完成請求非常挑剔,所以你應該只對臨時或開發環境這樣做。在您的開發環境中,您可以手動將自行生成的證書添加到您的可信證書,以避免計算機上出現SSL警告。 – 2011-04-01 14:10:16
好的,但是然後開發人員將API調用到客戶端的JavaScript調用,這是行不通的。據我瞭解,你需要生成一個自定義簽名,基本上是你的私鑰和會話的開始時間。是對的嗎? – 2011-04-01 14:48:01