2011-08-31 57 views
0

我有一個asp網絡mvc網站,我想爲某些動作提供一個API(json輸出),我在想我應該在哪裏使用api key,api id或者。api key and id in restful api

我想我可以將我的api方法分成兩種類型:簡單的獲取動作的那些,以及需要在我的網站上被記錄的那些動作。

對於第一個,沒有必要進行身份驗證,所以使用我的api的人將被允許沒有任何檢查,不需要任何密鑰給他。可以嗎?

對於第二種操作,他必須知道最終用戶密碼(連接)。所以我應該爲api消費者使用api密鑰(然後檢查我是否可以信任api消費者)?或者我應該使用OAuth和令牌機制(看起來很複雜)?或者我應該使用帶有hmac校驗和的公鑰/私鑰?

我知道比這種問題經常出現,但在這裏我想知道什麼是最簡單的方式來處理我的情況,什麼是無用的在我的情況。

感謝

回答

0

對於第一個的,也沒有必要的身份驗證,所以有人誰 消耗我的API將沒有任何檢查,沒必要對他任意鍵 被允許。可以嗎?

是的。

對於第二種操作,他必須知道最終用戶密碼 (連接)。所以我應該爲API消費者使用api密鑰(然後 檢查我是否可以信任api消費者)?

這將是最簡單的。在您的數據庫中有一個您要提供給客戶的密鑰列表,然後要求消費者傳遞他的密鑰以識別他。