使用firebase隐藏第三方API密钥

Sal*_*vic 2 javascript firebase firebase-security

我在firebase建立一个网站.这是一个简单的查找服务,它只有一个输入元素,可以向第三方API发送请求.

www.3rdparty.com/api/[myapikey]/method

问题是我每秒仅限x次请求,我无法向用户公开我的api-key.

我的任务最终是将响应存储在firebase中,以便限制到达第三方的请求数量(缓存功能)

Fra*_*len 5

将这样的API密钥放入应用程序的客户端代码会带来恶意用户获取密钥并将其用于自己目的的风险.除了不将API密钥包含在客户端代码中之外,您无能为力.这同样适用于Android和iOS代码btw.

由于您无法将API密钥放在客户端代码中,因此您必须在服务器上运行它.这是在Firebase体系结构中使用服务器端代码的一种非常常见的情况:代码需要访问一些不能信任普通客户端的信息.在我们关于常见Firebase应用程序体系结构的博客文章中,它由模式2涵盖.

从那篇博文:

在此输入图像描述

这种体系结构的一个例子是客户端为服务器放置任务以在队列中处理.只要有可用资源,您就可以让一个或多个服务器从队列中挑选项目,然后将结果放回Firebase数据库,以便客户端可以读取它们.