我刚刚开设了针对Android推送消息的Firebase云消息传递项目。
齿轮图标显示一个服务器密钥(由于显而易见的原因在这里混淆):
我希望拥有多个密钥,因此我可以将它们分发给服务器和开发人员,并在必要时撤销受损密钥。
如何在Firebase中管理(添加和删除)服务器密钥?
答案 0 :(得分:2)
<强>更新强>:
目前,正如docs中所述,为了生成新的服务器密钥应该采取的方式:
从2016年9月开始,只能使用设置面板的Cloud Messaging标签在Firebase控制台中创建新的服务器密钥。可以在Firebase console中导入需要创建新服务器密钥的现有项目,而不会影响其现有配置。
有关项目迁移步骤,请参阅我的回答here。
要生成服务器密钥,无法在Firebase控制台中生成服务器密钥。可以通过Google Developers Console :
从我的回答here
中检索到的步骤选择 API Key 后,它将直接创建API密钥,而不会询问它是什么类型的密钥(服务器,Android,浏览器,iOS)。它只允许您设置一些可见的 限制 ,具体取决于您要生成的API密钥。
默认情况下,生成的密钥有 无限制 ,这会使密钥容易受到攻击,这就是为什么非常鼓励让您< strong>为您的API密钥添加限制。在这种情况下,由于您将其用于FCM(需要服务器密钥),您必须添加IP地址限制并仅允许特定的服务器IP地址。
话虽如此,我不知道您计划如何将多个服务器密钥集成到单个Firebase项目中。为什么不直接使用 IP地址限制 并删除被视为 已泄露的服务器IP地址 ?< / p>
答案 1 :(得分:1)
每个项目都不可能有多个云消息服务器密钥。我建议您为应用程序开发暂存环境安装多个Firebase项目。
如果需要,您可以在Google Developer Console中重新生成服务器密钥。
系统会显示一个确认框,询问您是否要更换当前密钥,然后点击替换密钥按钮。
请注意,新密钥将立即可用。当前密钥将在24小时内永久停用。
完成所有这些步骤后,您可以检查Firebase项目的云消息传递服务器密钥是否已更新。
答案 2 :(得分:0)
在Firebase中,自动生成服务器密钥。如果您在Google Developer Console中查看Firebase项目,则会按此列出。然后,您可以从那里创建更多密钥(但不会在Firebase控制台中列出,我可以告诉您。)
基本上,您可以通过Google Developer Console更好地管理密钥。
希望这有帮助!
答案 3 :(得分:0)
您应该避免为同一个项目分发API密钥。如果发现任何使用API密钥的人滥用它,那么整个项目将受到限制,影响项目的所有密钥。
如果您确实希望让多个开发人员向您的应用程序发送通知,请让每个开发人员创建一个Firebase项目,然后让客户端注册每个发件人ID。您仍然可以为每个开发人员轮换API密钥,或让客户端为您不再希望从中接收消息的开发人员删除令牌。这样,来自一个开发人员的任何滥用都不会对整个项目产生负面影响。