2016-01-21 43 views
1

我們正在使用映射到python flask api的Azure API管理。我們正在製作javascript ajax調用(Azure API)。我們現在將訂閱密鑰直接放在ajax調用的查詢參數中。安全Azure API在javascript中的其餘調用

現在任何有權訪問此密鑰(通過按開發人員工具或查看源代碼)的人都可以訪問apis。

有沒有辦法在ajax調用中隱藏訂閱密鑰?

回答

-1

您可以利用Azure密鑰保險庫來幫助保護雲應用程序和服務使用的加密密鑰和機密,以滿足您的要求。您可以參考What is Azure Key Vault?瞭解更多詳細信息,也可以在本文的表格中找到幾個經典場景。

目前,提供了用於Azure Key Vault的.Net和Node.js SDK。你可以在Node.js的集成關鍵庫利用Microsoft Azure SDK for Node.js - Key Vault Management或者您可能需要通過REST APIs在你的Python應用程序中實現

+0

這是用於客戶端(javascript)鍵,而不是服務器端應用程序,所以我認爲密鑰保管庫不是正確的解決方案 –

1

您可以在請求中,其中有一個簽名和到期時間使用JSON網絡令牌(JWT)。

0

看來我們不能隱藏JS代碼中的訂閱ID。由於JS代碼應該使用此密鑰發送http請求,我們可以使用Fiddler獲取訂閱ID。 另一種方法是,我們可以在服務器端發送這個http請求。我們可以調用服務器端方法使用Ajax,服務器端調用Azure Management API,我們可以將訂閱寫入服務器端。使用這種方法,其他人無法在JS代碼中看到訂閱ID。