什么是 Firebase Authentication?实现应用身份验证

Google・クラウドカテゴリを表すパンダのイラスト Google 云端硬盘
Google Cloudや関連サービスをやさしく学ぶためのカテゴリ画像です。

关于本文

本文是通过利用生成式 AI 的自动化生成流程创建的。

我们将参考 Firebase 官方文档,梳理如何将用于确认用户身份的登录功能嵌入 Web 和移动应用的 Firebase Authentication。同时也会解释它与 Google Cloud IAM 权限管理的目的不同的这一点。

信息核实基准日:2026-09-19

首先用一句话概括

Firebase Authentication 是一个为应用添加用户登录功能的服务。可以通过 SDK 使用电子邮箱与密码、手机号码、Google 等外部身份提供商以及匿名身份验证等多种方法。

身份验证(Authentication)是指“确认该用户是谁”。它与像 IAM 那样关于“Cloud 管理员可以操作什么”的管理权限需分开考虑。

在 Google 整体中的定位

视角Firebase Authentication
大分类Firebase / 应用开发 / Identity
核心目的将安全的用户登录功能嵌入 Web 和移动应用
组件在应用入口处建立用户ID的身份验证层
配合使用的组件Cloud Firestore、Realtime Database、Firebase Hosting、App Check
主要使用者应用用户、开发者、服务运营商
sequenceDiagram
  participant U as 利用者
  participant A as Web/モバイルアプリ
  participant F as Firebase Authentication
  participant D as Firestore等
  U->>A: サインイン
  A->>F: 認証要求
  F-->>A: 認証済みユーザー情報
  A->>D: 認証状態を使ってデータ要求
  D-->>A: Security Rules等に基づく結果

能实现什么?

Firebase Authentication 支持密码、电话号码、Google 等联合身份提供商(使用外部身份服务的登录方式)。您还可以将其设计为以匿名用户身份开始,随后再迁移到常规账户。

由于提供了 SDK 和 UI 库,与完全自研身份验证服务器相比,它更容易集成到应用功能中。不过,添加登录界面并不意味着安全性设计已经完成。

按使用者划分的实际应用示例

普通用户与文职人员

在使用服务时,您可能会看到“使用 Google 登录”或“使用电子邮件登录”等选项。在这些选项的背后,它可用于身份验证,以确保应用能够安全地隔离每个用户的数据。

IT 管理员与服务运营商

负责确定允许哪些登录提供商、是否需要 MFA(多因素身份验证),以及如何管理日志和用户。由于企业需求可能需要通过升级到 Identity Platform 来获取附加功能,因此请在官方页面上查看当前的定价和功能。

开发者

使用 Web、Android、iOS、Flutter 等 SDK 获取登录状态,并结合 Firestore 等安全规则(Security Rules)来控制基于用户的访问权限。

它与 IAM 或服务账号有什么区别?

机制主要对“谁”进行身份验证和控制?典型用途
Firebase Authentication应用程序的最终用户登录、按用户划分的数据
Google Cloud IAM管理员、开发人员、工作负载等Cloud 资源的操纵权限
服务账号 (Service Account)应用程序或自动化处理等非人类主体服务器之间及自动化处理的身份验证

如果将这三者都视为相同的“Google 登录”,很容易导致设计错误。

有 Microsoft 使用经验的人应如何理解?

在 Microsoft 侧,人们常常倾向于将其与面向应用程序的客户身份基础架构进行对比,但产品体系、定价和管理模型并非完全一致。在明确“对应用程序终端用户进行身份验证的组件”这一共同角色后,再根据具体需求与 Microsoft Entra External ID 等现有功能进行对比。

Firebase 项目、API 与定价

Firebase Authentication 是作为 Firebase 项目的一部分来使用的。由于所使用的身份验证方法、规模以及是否升级到 Identity Platform 会改变相关条件,切勿仅凭文章记忆固定价格,请务必查看官方定价页面。特别是电话认证,请务必确认地区、费用以及限制的最新信息。

安全性

  • 切勿仅在客户端显示“已登录”状态就草草结束访问控制。

  • 在 Firestore 等服务中妥善配置安全规则 (Security Rules)。

  • 切勿将管理用私钥或服务账号 JSON 嵌入到 Web/移动端应用程序中。

  • 切勿误认为 API 密钥与私钥相同,请遵循 Firebase 官方对 API 密钥的处理方式并确认各项 API 的限制。

  • 切勿将生产环境用户的电子邮件地址或令牌 (token) 保存到公开的 GitHub 或测试数据中。

安全地进行测试

首先应在 Firebase Console 中创建一个用于验证的项目,阅读官方的 Authentication 接入指南,并仅使用测试用户来确认运行情况。

在编写代码前,确认以下三点会更安全。

  1. 要启用哪些登录提供商(Sign-in provider)。

  2. 认证后允许访问的数据是什么。

  3. Firestore 等安全规则(Security Rules)如何处理未认证用户。

成功条件不仅是“显示登录页面”,而是登录后的用户识别和数据访问控制符合预期。如果要改动一个地方,可以在验证环境中切换已认证/未认证两种状态,确认访问结果是否发生变化。

Google官方信息

接下来该做什么?

在用于验证的 Firebase 项目中只选择一种要使用的登录提供商,并根据官方快速入门(Quickstart)用测试用户进行确认。同时,也要设计好认证后要使用的 Firestore 等安全规则。

Papanda TRY:通过浏览器卡片查看登录状态

在不使用实际凭证(credential)的情况下,用 JavaScript 还原已登出(signed-out)→提供商选择→已登录(signed-in)的状态转换。将其作为理解 Firebase Authentication 提供的是认证后端/SDK而非“UI本身”的教材。

归根结底是什么样的服务?

Firebase Authentication 是一个用于确认应用使用者身份,并将其与每个用户的体验和数据访问关联起来的认证组件。它与面向云管理员的 IAM 职责不同。最开始通过验证项目和测试用户,连同认证前后的访问差异一起确认才是安全的。

文档信息

文章??
什么是 Firebase Authentication?实现应用身份验证
?布日期
更新日期
来源
https://papanda925.com/?p=17713&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制