在使用Firebase Cloud Messaging(FCM)的Firebase项目中,有一个自动生成的服务器密钥用于云消息传递。FCM文档并未表明只能使用该自动生成密钥的一台服务器(至少可以找到。
第一个问题:我是否错过了单个服务器记录的限制?
如果没有明确的限制,我确实想到,FCM可能会在支票中构建,以确保给定的Firebase项目发送消息的请求确实来自一个IP地址,从而拒绝了来自多个IP地址的请求。/p>
第二个问题:单个服务器限制是隐含的?
如果可以有多个服务器,则每个服务器都可以在保护服务器密钥的隐私以及其他任何被记录为"最佳(和安全)实践"的事情时进行尽职调查FCM可能会基于服务器类型限制请求:
HTTP标头必须包含以下标头:
授权:key = your_server_key
确保这是服务器密钥,其值可在Firebase Console设置窗格的"云消息"选项卡中可用。Android,iOS和浏览器键被FCM拒绝。
最后一个问题:语句" Android,iOS和浏览器密钥被FCM拒绝"。在服务器类型上下文中的平均值?如果此语句说来自移动设备(Android或iOS)或浏览器的请求将被FCM拒绝,这将更加清楚。我邀请它在这一点上进行阐述,但没有讨论。
-
afaik,FCM没有单个服务器限制。还有一个主题是从多个发件人接收消息,在这种情况下,每个发件人(如果服务器)必须访问您的服务器密钥才能发送到客户端应用程序。
因此,我很确定在hood 检查IP地址的情况下没有(如果您将其设置为不同,则限制发件人的发送消息,如果它与通常不同)您自己(我不确定是否仍然可以通过API控制台设置它)。这也是应将服务器密钥保密的原因之一。为了防止未经授权的用户滥用它。
-
我不确定这里是什么问题。您能否详细说明" 在我看来,FCM可能会根据服务器类型 "。
-
在FCM之前,曾经有不同类型的 api键, server , android , ios和浏览器键。无论GCM的类型如何,开发人员都可以使用所需的密钥,但是限制仅允许服务器密钥。有关更多详细信息,请参见我的答案。
创建新的API密钥时也可以使用这些选项,但是当前,当选择创建API密钥时,它将自动生成,并且您将获得的选项是以下一个限制:ul>
- 无(默认)
- HTTP推荐人(网站)
- IP地址(Web服务器,CRON作业等)
- Android Apps
- ios应用