2012-11-29 50 views
0

我們在asp.net中開發了幫助臺Web應用程序。現在我們已經要求將Restful API暴露給我們的移動應用程序和第三方公司。我們不想將所有API方法公開給第三方公司。他們將使用API​​的一些方法。將Restful API暴露給移動應用程序和其他第三方公司

目前我正在考慮在幫助臺應用程序中暴露Restful API。 我們的Web應用程序在support.domain.com主辦,希望這個網址例如api.support.domain.com內暴露我們的API

我的問題 如何設計與私有方法寧靜的API,將只使用我們的移動應用程序,而不是暴露給其他公共APIs方法第三方公司?

回答

1

如果您有兩種不同的API,那麼您可以創建一個,並且只能私下公開它,然後創建第二個並公開公開它。

如果您只想擁有一個API,那麼您需要實施授權。基本上,在每個被保護的方法調用中,檢查調用者是否被允許調用該方法,如果他們不是,則拋出異常或返回一個響應,指示他們不被允許執行請求的操作。

您如何驗證呼叫者取決於您。您可以使用用戶名/密碼方案,或者生成某種類型的字符串,該字符串將用作每次調用都將使用的API密鑰。

如果它是一個選項,你也可以根據IP地址來做 - 如果你知道內部呼叫必須來自一組特定的子網,那麼檢查IP地址。您也可以保留一個允許的外部IP地址表。

+0

感謝Brain的回覆,但擁有2種不同的API方法意味着單獨託管它並維護它將來會遇到問題。 – stackflow532