客户端级别(非最终用户级别)的安全Firebase REST API

客户端级别(非最终用户级别)的安全Firebase REST API,firebase,firebase-authentication,google-cloud-functions,api-key,api-authorization,Firebase,Firebase Authentication,Google Cloud Functions,Api Key,Api Authorization,我正在尝试创建一个RESTAPI(通过Firebase云函数)并将其发布给我的客户,以允许他们创建自己的移动应用程序。他们将创建的移动应用程序供公众用户使用。然而,用户不应该处理我们的API,因此也不应该处理身份验证。所以我不需要最终用户身份验证。由我们的客户(应用程序制造商)使用“客户id”和“api密钥”。 根据我的研究,Firebase Admin SDK可能不是一个很好的解决方案,因为我们关心的是客户端身份验证 我正在寻找一个标准的解决方案,为第三方客户端生成api密钥。此密钥生成不是手

我正在尝试创建一个RESTAPI(通过Firebase云函数)并将其发布给我的客户,以允许他们创建自己的移动应用程序。他们将创建的移动应用程序供公众用户使用。然而,用户不应该处理我们的API,因此也不应该处理身份验证。所以我不需要最终用户身份验证。由我们的客户(应用程序制造商)使用“客户id”和“api密钥”。 根据我的研究,Firebase Admin SDK可能不是一个很好的解决方案,因为我们关心的是客户端身份验证

我正在寻找一个标准的解决方案,为第三方客户端生成api密钥。此密钥生成不是手动过程,而是客户端用于获取密钥的服务。类似于第三方开发者的谷歌地图api。我们希望跟踪白名单客户,而不需要他们的应用程序用户处理身份验证


我非常感谢为我们的REST API找到最佳解决方案的建议和指导方针。

我想到的第一个解决方案是新的。它将限制除您已为项目列入白名单的应用程序和网页之外的任何访问。我不知道这在你的用例中是否可行(与其他应用程序的合作情况如何),但我会先尝试一下。

谢谢你的回复。我已经查过了。然而,我正在寻找一种为新客户机生成api密钥的标准方法。据我所知,应用程序检查更多的是检查请求是否从真实设备发送。你可以使用应用程序检查来限制从任何其他非你的应用程序或网站(链接到你的项目)访问你的Firebase服务。我需要通过编程允许新客户将自己添加到白名单中。通过AppCheck是不可行的。你知道怎么做吗?