管理Firebase云消息传递中的服务器密钥

时间:2016-09-18 09:09:09

标签: firebase google-cloud-messaging firebase-cloud-messaging

我刚刚开设了针对Android推送消息的Firebase云消息传递项目。

齿轮图标显示一个服务器密钥(由于显而易见的原因在这里混淆):

enter image description here

我希望拥有多个密钥,因此我可以将它们分发给服务器和开发人员,并在必要时撤销受损密钥。

如何在Firebase中管理(添加和删除)服务器密钥?

4 个答案:

答案 0 :(得分:2)

<强>更新

目前,正如docs中所述,为了生成新的服务器密钥应该采取的方式:

  

从2016年9月开始,只能使用设置面板的Cloud Messaging标签在Firebase控制台中创建新的服务器密钥。可以在Firebase console中导入需要创建新服务器密钥的现有项目,而不会影响其现有配置。

有关项目迁移步骤,请参阅我的回答here

要生成服务器密钥,无法在Firebase控制台中生成服务器密钥。可以通过Google Developers Console

完成
  1. 转到Google Developers Console
  2. 在左窗格中,单击凭据
  3. 在“凭据”标签下,点击创建凭据
  4. 选择 API密钥
  5. 从我的回答here

    中检索到的步骤

    选择 API Key 后,它将直接创建API密钥,而不会询问它是什么类型的密钥(服务器,Android,浏览器,iOS)。它只允许您设置一些可见的 限制 ,具体取决于您要生成的API密钥。

    默认情况下,生成的密钥有 无限制 ,这会使密钥容易受到攻击,这就是为什么非常鼓励让您< strong>为您的API密钥添加限制。在这种情况下,由于您将其用于FCM(需要服务器密钥),您必须添加IP地址限制并仅允许特定的服务器IP地址。

    话虽如此,我不知道您计划如何将多个服务器密钥集成到单个Firebase项目中。为什么不直接使用 IP地址限制 并删除被视为 已泄露的服务器IP地址 ?< / p>

答案 1 :(得分:1)

每个项目都不可能有多个云消息服务器密钥。我建议您为应用程序开发暂存环境安装多个Firebase项目。

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

  1. 在屏幕的左上角,验证是否正确 项目被选中。
  2. 在左侧面板中,单击凭据
  3. 凭据标签下,单击服务器密钥(由Google自动创建) 服务)。
  4. 点击重新生成密钥按钮
  5. 系统会显示一个确认框,询问您是否要更换当前密钥,然后点击替换密钥按钮。

      

    请注意,新密钥将立即可用。当前密钥将在24小时内永久停用。

  6. 完成所有这些步骤后,您可以检查Firebase项目的云消息传递服务器密钥是否已更新。

答案 2 :(得分:0)

在Firebase中,自动生成服务器密钥。如果您在Google Developer Console中查看Firebase项目,则会按此列出。然后,您可以从那里创建更多密钥(但不会在Firebase控制台中列出,我可以告诉您。)

基本上,您可以通过Google Developer Console更好地管理密钥。

希望这有帮助!

答案 3 :(得分:0)

您应该避免为同一个项目分发API密钥。如果发现任何使用API​​密钥的人滥用它,那么整个项目将受到限制,影响项目的所有密钥。

如果您确实希望让多个开发人员向您的应用程序发送通知,请让每个开发人员创建一个Firebase项目,然后让客户端注册每个发件人ID。您仍然可以为每个开发人员轮换API密钥,或让客户端为您不再希望从中接收消息的开发人员删除令牌。这样,来自一个开发人员的任何滥用都不会对整个项目产生负面影响。