2012-07-02 58 views
2

我相信這個問題已經被問了很多時間。使用應用程序名稱和應用程序密碼調用Rest API - 我如何保護它

但想重新確認我的疑問,並得到一些提示。

我打算玩buddy.com後端作爲服務。 ,我發現如果您使用的是JavaScript,大部分REST API都需要嵌入App Name和Password。 他們還沒有任何關於JavaScript的文檔。 但是想知道如果我現在必須從Javascript使用普通的HTML或HTML5的Web應用程序開始使用它。我如何使用它。

我不想在明文中傳遞應用程序密碼,因爲任何人都可以做瀏覽器的視圖源,或者可以運行小提琴來查看被調用的內容。 我知道一次會說,嘿爲什麼你不使用令牌系統有效的特定時間。

但我是這裏的消費者, 如何保護在瀏覽器視圖源中看到的密碼,因爲我將通過網頁/應用程序中的Java腳本調用API。 buddy.com API的

典型例子

http://webservice.buddyplatform.com/Service/v1/BuddyService.ashx?Pictures_ProfilePhoto_Add&BuddyApplicationName= & BuddyApplicationPassword = & UserToken = & bytesFullPhotoData = & ApplicationTag = & RESERVED =

任何提示,將不勝感激。 謝謝

+4

如果他們不提供生成客戶端密鑰的方式(如OpenTok或Twilio Client),則需要通過您自己的後端爲通過應用程序驗證的用戶代理請求。 –

+0

謝謝,我知道後端會很容易。 但是,如果你願意通過JavaScript來做到這一點,有沒有辦法來保護它? – Rahul

回答

1

客戶端運行的JavaScript總是可以用GreaseMonkey修改。 所有VARIABLES都可以使用JavaScript調試器(如Firebug)讀取。 所有請求可以截取和修改tamperdata

結果是,你永遠不可能信任JavaScript,因爲它的客戶端代碼。爲了保護攻擊者的祕密,你需要避免使用JavaScript。您可以使用中介API執行此操作,該API知道祕密並代表客戶端執行請求。此API需要強制認證,或者誰有權訪問給定的資源。

相關問題