4

我剛剛打開了一個旨在用於Android推送消息的Firebase雲消息傳遞項目。在Firebase雲消息傳遞中管理服務器密鑰

的齒輪圖標會顯示一個服務器密鑰(這裏混淆原因很明顯):

enter image description here

我想有一個以上的關鍵,所以我可以將它們分配給服務器和開發者並撤銷妥協鍵如果需要。

如何在Firebase中管理(添加和刪除)服務器密鑰?

回答

2

更新

正如此刻,它應該以生成新的服務器密鑰做的方式,如在規定的docs

從2016年9月開始只能使用設置面板的Cloud Messaging選項卡在Firebase控制檯中創建新的服務器密鑰。需要創建新服務器密鑰的現有項目可以在Firebase console中導入,而不會影響其現有配置。

有關項目遷移步驟,請參閱我的回答here


對於生成服務器密鑰,無法在Firebase控制檯中生成服務器密鑰。它可以通過Google Developers Console來完成:

  1. 轉到您的Google Developers Console
  2. 在左窗格中,單擊證書
  3. 在憑證選項卡,點擊創建憑證
  4. 選擇API密鑰
從我的回答檢索個

步驟here

當您選擇API密鑰,它會直接不問什麼類型的密鑰(服務器,機器人,瀏覽器,iOS版),這是創建一個API密鑰。它只會允許您設置一些限制根據您打算生成哪個API密鑰,這是可見的。

默認情況下,生成的密鑰具有無限制,這使得一個關鍵的脆弱,這就是爲什麼它是非常鼓勵爲你添加限制爲您的API密鑰。在這種情況下,由於您正在將它用於FCM(服務器密鑰需要),因此您必須添加IP地址限制並僅允許特定的服務器IP地址。


即便如此,我不知道您打算如何將多個服務器密鑰集成到單個Firebase項目。爲什麼不利用IP地址限制並刪除被認爲損害服務器的IP地址?

+0

在生產/開發環境中使用不同的服務器密鑰可能很有用,但顯然使用開發人員控制檯添加新的API密鑰不能用作FCM服務器密鑰。 – Meriw

+1

@Meriw Yup。您需要在Firebase控制檯中創建一個單獨的項目,然後使用自動生成的項目。 –

+0

嗨,即時通訊嘗試發送notifcation從Android的Android和IOS,但服務器是關鍵是不同的兩個應用程序,我應該保持條件採取android的android通知的服務器密鑰和iOS的ios消息的關鍵? –

1

每個項目不可能有多個雲消息服務器密鑰。我建議您爲您的應用程序開發臨時環境提供多個Firebase項目。

如果需要,您可以在Google Developer Console中重新生成服務器密鑰。

  1. 在屏幕的左上角驗證是否選擇了正確的 項目。請點擊憑證
  2. 憑證選項卡上,單擊服務器密鑰(由Google自動創建 服務)。
  3. 點擊重生關鍵按鈕
  4. 一個確認框會顯示出來,詢問您是否要替換當前的密鑰,然後單擊更換鑰匙按鈕。

    請注意,新密鑰將立即可用。當前的鑰匙將在24小時內永久停用。

所有這些步驟後,你可以檢查你的火力地堡計劃的雲郵件服務器現在的關鍵是更新。

0

在Firebase中,服務器密鑰是自動生成的。如果您在Google開發者控制檯中查看Firebase項目,它將按照這種方式列出。然後,您可以從那裏創建更多密鑰(但不會在Firebase控制檯中列出,從我所知道的情況來看)。

基本上,您可以通過Google Developer Console更好地管理按鍵。

希望這會有所幫助!

0

您應該避免爲同一個項目分發API密鑰。如果發現任何一個使用API​​密鑰的人濫用了它,那麼整個項目將被限制,影響項目的所有密鑰。

如果您確實希望多位開發人員向您的應用程序發送通知,請讓每位開發人員創建一個Firebase項目,然後讓客戶端註冊每個發件人ID。您仍然可以爲每個開發人員輪換API密鑰,或讓客戶端將您不想再收到消息的開發人員的令牌刪除。這樣,來自一個開發人員的任何濫用行爲都不會對整個項目產生負面影響。

相關問題