在Firebase实时数据库的顶部创建API层



我确实在我的实时火炉数据库中存储了一些数据。我愿意通过REST API向我的B2B客户揭示一些数据。

我知道Firebase本身就是REST API,但其身份验证机制不符合我的需求。我希望我的客户使用HTTP请求标头中传递的简单API键访问API。

总而言之,我需要一个API层坐在firebase实时数据库的顶部,具有以下属性:

  • 通过HTTP请求标头中传递的API密钥的基本身份验证
  • 一些自定义逻辑,以确保客户尊重API限制(例如,每天最大请求)

我唯一能想到的就是在AWS lambda中实现这一层,但这听起来也有些不足。从lambda中,我必须访问我的firebase数据库并提供该数据。这似乎太多了网络请求。燃料本地的东西会很棒。

谢谢guven。

为什么没有简单的API,如果它们具有正确的API键

它将更加安全,因为只有您才能使Service帐户私有密钥。还可以节省您制作整个REST API的头痛。OAuth代币也相对较快到期

我个人创建了自己的servlet,如果用户使用ID PASS组合对其进行身份验证,则可以在其中发布其数据。

在servlet中,我使用了firebase提供的默认REST API,并在我的servlet中生成的OAuth。这样,我可以将DB安全规则设置为False,以供任何客户端API的所有写作。默认情况下,我的服务器上的REST API及其admin SDK忽略了安全规则。

经过一些研究,我认为AWS是与API相关的最佳平台。

  • 网关API使您可以在几秒钟内设置API接口
  • DynamoDB存储您的API数据;您可以在此处轻松填充数据
  • aws lambda让您可以在网关API和DynamoDB之间编写集成代码

在其中,该平台提供了这些功能:

  • 创建&对身份验证的API键处理和验证
  • 用法计划确保API消费者不会超过您的API使用限制

这些AWS服务中我想要的大部分内容。

最新更新