Firebase 云消息服务器密钥的保密性
Secrecy of Firebase Cloud Messaging Server Key
我正在开发一个智能家居应用程序,它可以在本地网络(或通过 VPN)上与智能家居系统通信。我想与 Firebase Cloud Messaging 集成并且需要一台服务器。这是一个免费的应用程序,我不会从中赚钱,所以我不想让服务器来维护和关注。
我在想我可以让服务器在 GitHub 上开源。我希望服务器的设置像克隆和 运行 单个命令一样简单。这让我想到了一个问题:我可以将项目的服务器密钥留在 public 回购协议中供其他人使用吗?或者这会导致什么样的滥用?
我看到他们(自然地)告诉您将服务器密钥保密 https://firebase.google.com/docs/cloud-messaging/server#role ,但我想知道当其他人可以拥有自己的实例时我是否会这样他们自己的设备注册的 LAN 上的服务器。
服务器密钥允许向为与该密钥关联的发件人 ID 注册的应用程序发送通知。
因此,您应该将您的服务器密钥保密。
在您的情况下,您可以要求每个用户注册自己的 Firebase 项目。
然后每个用户都可以拥有自己的 sender-id
和 server-key
(在设置页面中列出)。
在服务器上,您可以将服务器密钥作为命令行参数传递。
在客户端,您需要要求用户键入自己的发件人 ID,然后您可以使用 API:
注册该发件人 ID
FirebaseMessaging.getInstance().getToken("sender-id-2", "FCM")
我正在开发一个智能家居应用程序,它可以在本地网络(或通过 VPN)上与智能家居系统通信。我想与 Firebase Cloud Messaging 集成并且需要一台服务器。这是一个免费的应用程序,我不会从中赚钱,所以我不想让服务器来维护和关注。
我在想我可以让服务器在 GitHub 上开源。我希望服务器的设置像克隆和 运行 单个命令一样简单。这让我想到了一个问题:我可以将项目的服务器密钥留在 public 回购协议中供其他人使用吗?或者这会导致什么样的滥用?
我看到他们(自然地)告诉您将服务器密钥保密 https://firebase.google.com/docs/cloud-messaging/server#role ,但我想知道当其他人可以拥有自己的实例时我是否会这样他们自己的设备注册的 LAN 上的服务器。
服务器密钥允许向为与该密钥关联的发件人 ID 注册的应用程序发送通知。 因此,您应该将您的服务器密钥保密。
在您的情况下,您可以要求每个用户注册自己的 Firebase 项目。
然后每个用户都可以拥有自己的 sender-id
和 server-key
(在设置页面中列出)。
在服务器上,您可以将服务器密钥作为命令行参数传递。
在客户端,您需要要求用户键入自己的发件人 ID,然后您可以使用 API:
FirebaseMessaging.getInstance().getToken("sender-id-2", "FCM")