2016-08-24 91 views
7

注意:爲了說明這不是Firebase API密鑰,這可能更像是令牌......客戶端應用擁有的東西以及服務器端點驗證的東西。使用Firebase RemoteConfig來存儲API密鑰可以嗎?

我們正試圖做得更好,以確保API密鑰(用於驗證客戶端到端點的認證令牌)。這都將在我們的內部網絡上,但我們仍然希望確保只有我們的移動客戶端可以調用端點。

我在想,我們可以將API密鑰放入Firebase遠程配置參數(該應用程序內置的默認值無效)。但是,遠程配置的Firebase文檔中提到:

不要將機密數據存儲在Remote Config參數鍵或參數值中。可以解碼存儲在項目的遠程配置設置中的任何參數鍵或值。

我不確定這是否僅指與應用程序捆綁在一起的默認值,或者它是否也用於遠程加載的值。一旦我們擁有密鑰,我們就可以通過我們的MDM提供商對其進行加密並將其存儲在設備上。

此外,是將遠程配置數據傳輸到應用程序加密或完成明文?

感謝任何人都可以提供有關遠程配置的更多信息。

+0

在Firebase的上下文中,API密鑰通常不會識別特定的客戶端,但它是一個簡單的值,它允許連接客戶端連接到其後端項目。它顯式**不是**將安全漏洞嵌入到您的應用中。這聽起來像你的API密鑰是不同的,但在這種情況下,你可能想考慮使用不同的名稱。 :-) –

回答

0

這取決於你想保持你的API密鑰的安全性。 API密鑰允許某人做什麼?如果僅僅是將您的應用識別爲其他服務(例如YouTube Data API),那麼可能發生的最糟糕的情況是惡意用戶使用該資源的配額。另一方面,如果密鑰允許持有者在沒有進一步的身份驗證和授權的情況下對重要數據做出一些不可逆轉的更改,那麼您絕不希望它以任何形式存儲在他們的設備上。

來自Firebase文檔的引用可以解答您的問題。一般來說,你不應該在你的應用中存儲私鑰。請查看this question的解答以獲得詳細解釋。

使用Firebase的Remote Config幾乎比在應用程序包中傳送密鑰更安全。無論哪種方式,數據都以用戶的硬件結束。然後,一個惡意的人可以在理論上訪問它,不管我們可能認爲這是多麼困難。另外,我不能肯定地說(你應該可以很容易地測試這個),但我高度懷疑遠程配置值是以純文本形式發送的。 Google默認通過https執行所有操作。

相關問題