Catch up on everthing we announced at this year's Firebase Summit. Learn more

从何处入手开始使用 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 项目而非特定用户,并会授予对项目资源的完整访问权限。