获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Firebase 身份验证

大多数应用程序需要知道用户的身份。了解用户身份后,应用程序可以将用户数据安全地保存在云中,并在用户的所有设备上提供相同的个性化体验。

Firebase 身份验证提供后端服务、易于使用的 SDK 和现成的 UI 库来对您的应用的用户进行身份验证。它支持使用密码、电话号码、流行的联合身份提供商(如 Google、Facebook 和 Twitter 等)进行身份验证。

Firebase 身份验证与其他 Firebase 服务紧密集成,并利用 OAuth 2.0 和 OpenID Connect 等行业标准,因此可以轻松与您的自定义后端集成。

当您使用 Identity Platform 升级到 Firebase 身份验证时,您会解锁其他功能,例如多重身份验证、阻止功能、用户活动和审核日志记录、SAML 和通用 OpenID Connect 支持、多租户和企业级支持。

了解如何开始

关键能力

您可以通过使用 FirebaseUI 作为完整的插入式身份验证解决方案或使用 Firebase 身份验证 SDK 将一种或多种登录方法手动集成到您的应用中,让用户登录您的 Firebase 应用。

FirebaseUI 身份验证
插入式身份验证解决方案

向您的应用添加完整登录系统的推荐方法。

FirebaseUI 提供了一个插入式身份验证解决方案,该解决方案处理用户使用电子邮件地址和密码、电话号码以及流行的联合身份提供商(包括 Google 登录和 Facebook 登录)登录的用户界面流程。

FirebaseUI Auth 组件实现了在移动设备和网站上进行身份验证的最佳做法,可以最大限度地提高您应用的登录和注册转化率。它还处理诸如帐户恢复和帐户链接等边缘情况,这些情况可能对安全性敏感且容易出错,无法正确处理。

FirebaseUI 可以轻松自定义以适应应用程序的其余视觉样式,并且它是开源的,因此您在实现所需的用户体验方面不受限制。

iOS安卓网页

Firebase SDK 身份验证
基于电子邮件和密码的身份验证

使用电子邮件地址和密码对用户进行身份验证。 Firebase 身份验证 SDK 提供了创建和管理使用其电子邮件地址和密码登录的用户的方法。Firebase 身份验证还处理发送密码重置电子邮件。

iOS Android Web C++ Unity

联合身份提供者集成

通过与联合身份提供者集成来对用户进行身份验证。 Firebase 身份验证 SDK 提供允许用户使用其 Google、Facebook、Twitter 和 GitHub 帐户登录的方法。

谷歌iOS Android Web C++ Unity
使用 Apple 登录iOS Android Web C++ Unity
Facebook iOS Android Web C++ Unity
推特iOS Android Web C++ Unity
GitHub iOS Android Web C++ Unity
电话号码认证

通过向他们的手机发送 SMS 消息对用户进行身份验证。

iOS Android Web C++ Unity

自定义认证系统集成

将您应用的现有登录系统连接到 Firebase 身份验证 SDK,并获得对 Firebase 实时数据库和其他 Firebase 服务的访问权限。

iOS Android Web C++ Unity

匿名认证

通过创建临时匿名帐户来使用需要身份验证的功能,而无需用户先登录。如果用户稍后选择注册,您可以将匿名帐户升级为普通帐户,以便用户可以从上次中断的地方继续。

iOS Android Web C++ Unity

使用身份平台进行 Firebase 身份验证

带有 Identity Platform 的 Firebase 身份验证是一项可选升级,它为 Firebase 身份验证添加了多项新功能。

此升级不需要任何迁移 - 您现有的客户端 SDK 和管理 SDK 代码将继续像以前一样工作,并且您将立即访问增强日志记录和企业级支持以及 SLA 等功能。通过一些额外的代码,您将能够添加多因素身份验证、阻止功能以及对 SAML 和 OpenID Connect 提供程序的支持。

与基础产品相比,使用 Identity Platform 的 Firebase 身份验证具有不同的定价方案。升级后,免费 (Spark) 计划项目将限制为每日 3,000 名活跃用户,而按需付费 (Blaze) 计划项目将针对超过 50,000 名每月活跃用户的免费套餐收费。在升级之前,请确保您了解计费影响。

在下方阅读有关新功能、定价和限制的更多信息。

特征

多因素身份验证

SMS 的多因素身份验证通过为您的应用添加第二层安全性来保护您的用户数据。

了解如何将 MFA 添加到您的AppleAndroidWeb应用程序。

阻塞函数

阻止函数允许您运行自定义代码来修改用户注册或登录到您的应用程序的结果。

了解如何使用阻止功能扩展 Firebase 身份验证

SAML 和 OpenID Connect 提供程序

支持使用 Firebase 本身不支持的 SAML(仅限 Web)和 OpenID Connect 提供程序登录。

了解如何将SAML 登录添加到 Web 应用程序以及将 OpenID Connect 登录添加到AppleAndroidWeb应用程序。

用户活动和审计日志

监控和记录管理访问和最终用户活动。

升级项目时,您会自动在 Cloud Logging 中启用管理员活动审核日志。您还可以在 Firebase 控制台的身份验证设置页面上启用用户活动日志记录。

要了解如何查看和分析您的日志,请参阅Cloud Logging 文档

多租户

使用租户,您可以在单个项目中创建多个独特的用户和配置孤岛。

请参阅 Cloud Identity Platform 文档中的多租户入门

企业支持和 SLA

升级后的项目根据身份平台服务水平协议 (SLA)获得身份验证服务的正常运行时间保证,并获得企业级支持。

自动清理匿名用户

如果匿名帐户超过三十天,您将可以选择启用自动删除它们。匿名帐户也将不再计入计费和使用配额。

使用限制

升级后,带有 Identity Platform 的 Firebase 身份验证为您使用 Firebase 身份验证引入了新限制。

免费(Spark)

对于大多数登录提供商,免费 (Spark) 计划中的项目有 3,000 个每日活跃用户 (DAU) 的新限制。每日活跃使用量是根据 24 小时内登录的唯一用户数计算得出的。

提供者新限制旧限制
电子邮件、社交、匿名、自定义3,000 日活跃用户无限
SAML,OpenID 连接2 个 DAU不适用

随用随付(Blaze)

Blaze 计划中的项目定价基于每月活跃用户 (MAU),包括 50,000 个用户的免费层级。活跃用户是在计费期内使用其帐户的任何人。

提供者免费层高于免费层级的每 MAU 成本 ($)
电子邮件、社交、匿名、自定义0-49,999 月活跃用户每个 MAU 0.0025 到 0.0055
SAML,OpenID 连接0-49 月活跃用户每个 MAU 0.015

升级您的项目

要将您的项目升级到使用 Identity Platform 的 Firebase 身份验证,请打开 Firebase 控制台的身份验证设置页面。

它是如何工作的?

链接为平台做正确的事

要将用户登录到您的应用程序,您首先要从用户那里获取身份验证凭据。这些凭据可以是用户的电子邮件地址和密码,也可以是来自联合身份提供商的 OAuth 令牌。然后,您将这些凭据传递给 Firebase 身份验证 SDK。然后,我们的后端服务将验证这些凭据并向客户端返回响应。

成功登录后,您可以访问用户的基本个人资料信息,并且可以控制用户对存储在其他 Firebase 产品中的数据的访问权限。您还可以使用提供的身份验证令牌在您自己的后端服务中验证用户的身份。

实施路径

使用 FirebaseUI 身份验证
设置登录方法对于电子邮件地址和密码或电话号码登录以及您想要支持的任何联合身份提供商,请在 Firebase 控制台中启用它们并完成身份提供商所需的任何配置,例如设置您的 OAuth 重定向 URL。
自定义登录 UI您可以通过设置 FirebaseUI 选项来自定义登录 UI,或者在 GitHub 上 fork 代码以进一步自定义登录体验。
使用 FirebaseUI 执行登录流程导入 FirebaseUI 库,指定要支持的登录方法,并启动 FirebaseUI 登录流程。
使用 Firebase 身份验证 SDK
设置登录方法对于电子邮件地址和密码或电话号码登录以及您想要支持的任何联合身份提供商,请在 Firebase 控制台中启用它们并完成身份提供商所需的任何配置,例如设置您的 OAuth 重定向 URL。
为您的登录方法实施 UI 流对于电子邮件地址和密码登录,请实施提示用户键入其电子邮件地址和密码的流程。对于电话号码登录,创建一个流程,提示用户输入他们的电话号码,然后输入他们收到的 SMS 消息中的代码。对于联合登录,实现每个提供者所需的流程。
将用户的凭据传递给 Firebase 身份验证 SDK将用户的电子邮件地址和密码或从联合身份提供商获取的 OAuth 令牌传递给 Firebase 身份验证 SDK。

下一步是什么

详细了解 Firebase 项目中的用户,然后查看您要支持的登录提供商的集成指南:

iOS Android Web C++ Unity管理员

不知道从哪里开始?

了解如何开始