In a Firebase project using Firebase Cloud Messaging (FCM), there is an auto-generated server key for cloud messaging. The FCM documentation does not indicate that there can be one and only one server using that auto-generated key (at least that I can find.) However the documentation does clearly state that server key should be securely stored.
First question: did I miss a single server documented restriction?
If there is no explicit restriction, it does occur to me that FCM might build in checks to ensure that requests for a given Firebase project to send messages do come from only a single IP address, rejecting requests from multiple IP addresses.
Second question: is a single server restriction implicit?
If it is the case that there can be multiple servers, each doing due diligence in protecting the privacy of the server key as well as anything else that is documented as "best (and safe) practices", it occurs to me that FCM might restrict requests based on the server type based on this statement:
The HTTP header must contain the following headers:
Authorization: key=YOUR_SERVER_KEY
Make sure this is the server key, whose value is available in the Cloud Messaging tab of the Firebase console Settings pane. Android, iOS, and browser keys are rejected by FCM.
Last question: what does the statement "Android, iOS, and browser keys are rejected by FCM." mean in the server type context? If this statement had said that requests from a mobile device (Android or iOS) or a browser would be rejected by FCM, that would be more clear. I am inviting an elaboration on this point but not a discussion.