Firebase Cloud Functions 使用 API key 保护 HTTPS 端点

标签 firebase http authentication google-cloud-functions

我看过几个地方,包括这个 post和 Firebase 面板

enter image description here

有没有办法使用这些 api 来保护这些端点,使用您为每个使用您的云功能的客户端创建的 api key ?

我能够阻止每个对浏览器 key 施加限制的人,但我想创建一个新的 api key ,并将其用作为各种客户端验证我的端点的一种方式。

创建新的 api key ,并使用 that as a parameter in my query不起作用(如果我做错了什么,现在不要)

enter image description here

有办法吗?

最佳答案

选项 1:在函数内处理身份验证

https://github.com/firebase/functions-samples/tree/master/authorized-https-endpoint

在上面进行调整以使用存储在 firestore 中的客户端/ key


选项 2:使用 API Gateway

上述网关可能最适合您的用例,因为前两个网关可以让您将所有内容都保留在 Google 中,尽管具有更高的复杂性/成本——希望 Endpoints 能尽快获得对功能的支持。 Azure 意味着您的架构的一部分在 Google 之外,但看起来是一种实现您的目标的简单方法(每个客户端的 api key 用于您的 google 云/firebase 功能)

这是实现 Azure API 管理的一个很好的演练:

https://koukia.ca/a-microservices-implementation-journey-part-4-9c19a16385e9

关于Firebase Cloud Functions 使用 API key 保护 HTTPS 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52908611/

相关文章:

mysql - CakePHP 模型链查找

firebase - 如何模拟 Firebase 扩展?

swift - 为什么 Firebase 在应用程序崩溃时不支持 onDisconnect?

android - 识别浏览器移动版本的最佳方法

c# - 浏览器不是以 PDF 格式显示来自 SSRS 服务器的报告,而是显示来自 Web 服务器的原始响应

authentication - 如何使用 java 脚本后端在 AAD 单点登录中使用访问 token 获取登录的用户详细信息(用户电子邮件 ID 和用户名)?

security - 一次性盐和服务器密码比较

firebase - 如何找出当前版本的 Firebase 工具

android - 我可以在同一帐户的 Firebase 控制台中使用当前数据将应用程序从当前项目移动到另一个项目吗

javascript - 确定请求是通过浏览器书签/收藏夹还是链接?