Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

从何处入手开始使用 Firebase 身份验证?

我已经有身份验证系统

如果您的应用已有登录实现,并且您想使用它进行 Firebase 后端服务身份验证,请使用自定义身份验证。这包括使用以下任一方法的应用:

  • 定制解决方案,例如基于密码的自定义系统。
  • 第三方身份管理服务,例如 Auth0 或 OKta。
  • 与联合身份提供商(如 Google、Facebook 或 Apple)的现有集成。(如果您还不支持联合身份,但希望使用,请参阅下一部分。)

借助自定义身份验证,您可以使用自己选择的系统登录用户,在后端为用户创建 Firebase 令牌,然后使用客户端提供的令牌进行 Firebase 身份验证。

请参阅适用于 iOSAndroidWebUnityC++ 的文档。

我想使用 Firebase 构建身份验证系统

如果您要构建新应用或向现有应用添加登录机制,可使用 Firebase 提供的库和服务实现安全身份验证,而无需自行构建身份验证后端。Firebase 身份验证是一个完整的后端解决方案,可供您使用密码、联合身份提供商、电子邮件链接和短信进行登录。

我需要一个易于使用的现成解决方案

向应用添加身份验证的最快速、最简单的方法是使用 FirebaseUI 身份验证。FirebaseUI 身份验证是一个普适性界面库。FirebaseUI 为 Firebase 身份验证支持的所有登录方法实现了完整的用户流。

由于 FirebaseUI 身份验证是一个具有普适性的解决方案,因此它会提供无法满足您需求的特定用户体验。如果要更改用户体验,您可以创建此开源库的分支,并使用您自己的版本。但是,对于截然不同的登录流程,您可能更希望通过 Firebase SDK 实现自己的流程(如下一部分所述)。

请参阅适用于 iOSAndroidWeb 的 FirebaseUI Auth 文档。

我想完全掌控登录体验

为了更好地控制您应用的登录体验,您可以实现自己的身份验证流程,并使用 Firebase SDK 来处理 Firebase 的身份验证服务。例如,您可以构建自己的电子邮件地址和密码流程或 Google 登录流程,并将用户的电子邮件地址和密码或 Google ID 令牌传递给 Firebase,以对用户进行身份验证。

请参阅 Firebase 身份验证 SDK 文档:

Firebase 服务
电子邮件地址和密码登录 iOS | Android | Web | Unity | C++
电话号码登录 iOS | Android | Web | Unity | C++
电子邮件链接登录 iOS | Android | Web | Unity | C++
联合身份
Google iOS | Android | Web | Unity | C++
Facebook iOS | Android | Web | Unity | C++
Apple iOS | Android | Web | Unity | C++
Play 游戏 Android | Unity | C++
Game Center iOS
GitHub iOS | Android | Web | Unity | C++
Microsoft iOS | Android | Web | Unity | C++
Twitter iOS | Android | Web | Unity | C++
Yahoo iOS | Android | Web | Unity | C++

我想打造丰富的登录前体验

您可以让用户在实际利用匿名身份验证登录前使用应用的登录功能。借助匿名“登录”功能,您可以创建临时的单会话帐号,就像使用真实帐号一样。然后,在用户登录或注册后,将临时帐号与真实帐号相关联,使其能够从中断的地方继续操作。

匿名身份验证可与自定义身份验证或任何 Firebase 的身份验证服务搭配使用。

请参阅适用于 iOSAndroidWebUnityC++ 的文档。

我想从我的后端访问 Firebase 服务

要从服务器访问 Firebase 服务,您无需使用 Firebase Authentication。请改为使用 Admin SDK。初始化 Admin SDK 时,请使用服务帐号凭据进行身份验证,这些凭据代表您的 Firebase 项目而非特定用户,并会授予对项目资源的完整访问权限。