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密钥,或让客户端将您不想再收到消息的开发人员的令牌删除。这样,来自一个开发人员的任何滥用行为都不会对整个项目产生负面影响。

相关问题