我已经有一个认证系统
如果您的应用已经有登录实现,并且您想使用它通过 Firebase 后端服务进行身份验证,请使用自定义身份验证。这包括使用以下任何内容的应用程序:
- 定制的解决方案,例如定制的基于密码的系统。
- 第三方身份管理服务,例如 Auth0 或 Okta。
- 与联合身份提供商(例如 Google、Facebook 或 Apple)的现有集成。 (如果您还不支持联合身份,但您想支持,请参阅下一节。)
使用自定义身份验证,您可以使用您选择的系统登录用户,在您的后端为用户创建一个 Firebase 令牌,然后使用来自客户端的令牌通过 Firebase 进行身份验证。
请参阅适用于iOS+ 、 Android 、 Web 、 Flutter 、 Unity或C++的文档。
我想用 Firebase 构建我的身份验证系统
如果您要构建新应用或向现有应用添加登录信息,Firebase 提供的库和服务可帮助您实施安全身份验证,而无需自行构建身份验证后端。 Firebase 身份验证是一个完整的后端解决方案,用于使用密码、联合身份提供商、电子邮件链接和短信进行登录。
我想要一个易于使用的嵌入式解决方案
向应用程序添加身份验证的最快和最简单的方法是使用FirebaseUI Auth ,这是一个插入式 UI 库。 FirebaseUI 为 Firebase 身份验证支持的所有登录方法实现了完整的用户流程。
由于 FirebaseUI Auth 是一个插入式解决方案,它的特定 UX 可能无法满足您的需求。如果你想改变 UX,你可以 fork 库,它是开源的,并使用你自己的版本。但是,对于完全不同的登录流程,您可能更愿意使用 Firebase SDK 实现您自己的流程,如下一节所述。
请参阅适用于iOS 、 Android或Web的 FirebaseUI Auth 文档。
我想要完全控制登录体验
为了更好地控制应用的登录体验,您可以实施自己的身份验证流程并使用 Firebase SDK 与 Firebase 的身份验证服务配合使用。例如,构建您自己的电子邮件地址和密码流程或 Google 登录流程,并将用户的电子邮件地址和密码或 Google ID 令牌传递给 Firebase 以对用户进行身份验证。
请参阅 Firebase 身份验证 SDK 文档:
Firebase 服务 | |
---|---|
电子邮件地址和密码登录 | iOS+ |安卓|网站|颤振|团结| C++ |
电话号码登录 | iOS+ |安卓|网站|颤振|团结| C++ |
电子邮件链接登录 | iOS+ |安卓|网站|颤振|团结| C++ |
联合身份 | |
谷歌 | iOS+ |安卓|网站|颤振|团结| C++ |
iOS+ |安卓|网站|颤振|团结| C++ | |
苹果 | iOS+ |安卓|网站|颤振|团结| C++ |
玩游戏 | 安卓|团结| C++ |
游戏中心 | iOS+ |
GitHub | iOS+ |安卓|网站|颤振|团结| C++ |
微软 | iOS+ |安卓|网站|团结| C++ |
推特 | iOS+ |安卓|网站|颤振|团结| C++ |
雅虎 | iOS+ |安卓|网站|团结| C++ |
我想打造丰富的登录前体验
您可以让用户在使用Anonymous Auth实际登录之前使用您应用的登录功能。使用匿名“登录”,您可以创建临时单会话帐户,您可以像使用真实帐户一样使用它。然后,在用户登录或注册后,将临时帐户链接到真实帐户,让他们从上次中断的地方继续。
匿名身份验证可与自定义身份验证或任何 Firebase 身份验证服务配合使用。
请参阅适用于iOS+ 、 Android 、 Web 、 Flutter 、 Unity或C++的文档。
我想从我的后端访问 Firebase 服务
要从服务器访问 Firebase 服务,您无需使用 Firebase 身份验证。相反,请使用Admin SDK 。初始化 Admin SDK 时,您使用服务帐户凭据进行身份验证,该凭据代表您的 Firebase 项目而不是特定用户,并授予对项目资源的完全访问权限。