firebase - 如何保护 firebase Cloud Function HTTP 端点以仅允许经过 Firebase 身份验证的用户?

标签 firebase firebase-realtime-database firebase-authentication firebase-security google-cloud-functions

借助新的 Firebase 云功能,我决定将部分 HTTP 端点移至 Firebase。 一切都很好......但我有以下问题。我有两个由 HTTP 触发器(云函数)构建的端点

  1. 用于创建用户并返回自定义 token 的 API 端点 由 Firebase Admin SDK 生成。
  2. 用于获取某些用户详细信息的 API 端点。

虽然第一个端点很好,但对于我的第二个端点,我只想为经过身份验证的用户保护它。意思是拥有我之前生成的 token 的人。

我该如何解决这个问题?

我知道我们可以使用云函数中获取 Header 参数

request.get('x-myheader')

但是有没有办法像保护实时数据库一样保护端点呢?

最佳答案

官方有code sample为了你想做的事。它说明了如何设置 HTTPS 函数以要求授权 header 以及客户端在身份验证期间收到的 token 。该函数使用 firebase-admin 库来验证 token 。

此外,如果您的应用能够使用 Firebase 客户端库,您还可以使用“callable functions ”来简化此样板文件的大部分工作。

关于firebase - 如何保护 firebase Cloud Function HTTP 端点以仅允许经过 Firebase 身份验证的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42751074/

相关文章:

firebase - 从 BigQuery 中删除带有 app_instance_id 的 firebase 实例

java - 从 Recycler View 中删除条目时出现问题

javascript - Angular - 如何从 Firebase DB 中删除数据

java - 在 Firebase (Android) 中同时更新多个节点中的多个字段

rest - 如何在 Firebase 中验证休息调用?

firebase - 无法使用 CLI Firebase 身份验证导入用户帐户 :import command

firebase - 错误: reCAPTCHA container is either not found or already contains inner elements

javascript - firebase3中如何将动态数据写入子节点?

android - 实时数据库 - Firebase 不更新

java - 使用 Firestore 获取我关注的人的帖子