身份验证
借助 Identity Platform,用户可以向您的应用和服务进行身份验证,例如多租户 SaaS 应用、移动/Web 应用、游戏、API 等。如果您在 Google Cloud 上、自己的后端或其他平台上构建服务,Identity Platform 可提供安全易用的身份验证。
Identity Platform 提供了后端服务,并配合易用的 SDK 和现成的界面库向您的应用验证用户身份。它支持通过密码、电话号码、主流联合身份提供商(如 Google、Facebook、Twitter 以及任何支持 SAML 或 OpenID Connect 协议的提供商)进行身份验证。
Identity Platform 与 Google Cloud 服务紧密集成,并遵循 OAuth 2.0 和 OpenID Connect 等业界标准,因此可与您的自定义后端轻松集成。
主要功能
您可以使用 SDK 将一个或多个登录方法集成到您的应用中。
使用 SDK 进行身份验证 | |||||||||
---|---|---|---|---|---|---|---|---|---|
基于电子邮件和密码的身份验证 | 使用用户的电子邮件地址和密码对他们进行身份验证。SDK 提供了为使用电子邮件地址和密码登录的用户创建账号和对其进行管理的方法。 Identity Platform 也处理密码重置电子邮件的发送。 |
||||||||
联合身份提供方服务集成 | 通过集成联合身份提供商来对用户进行身份验证。SDK 提供了允许用户使用其 Google、Facebook、Twitter 和 GitHub 账号登录的方法。
|
||||||||
手机号码身份验证 | 通过向用户的电话发送短信来进行身份验证。 |
||||||||
自定义身份验证系统集成 |
将应用的现有登录系统连接到 Identity Platform,将在您的服务器上生成的令牌交换为 Google Cloud、Firebase 或其他服务中运行的应用可使用的 Identity Platform 令牌。 |
||||||||
匿名身份验证 |
创建临时匿名账号,用户不需要登录,便可使用需要通过身份验证才能使用的 Firebase 功能。如果用户以后选择注册账号,您可将匿名账号升级为常规账号,使用户能够从离开的位置继续。 |
工作方式
要让用户登录到您的应用,您首先要取得用户的身份验证凭据。这些凭据可以是用户的电子邮件地址与密码、SAML 断言或联合身份提供商生成的 OAuth 令牌。如果是联合身份提供商,则提供商会将这些令牌返回到 /__auth/handler
端点上的 Identity Platform 身份验证处理程序。此服务由 Google 托管,因此您无需接收并验证身份验证工件。收到令牌后,我们的后端服务将对其进行验证并向客户端返回响应。
用户成功登录后,您可以访问用户的基本个人资料信息,还能控制用户对 Google Cloud 或其他产品中数据的访问权限。您还可以使用提供的身份验证令牌在自己的后端服务中验证用户的身份。
实现路径
使用 SDK | ||
---|---|---|
设置登录方法 | 如果要设置电子邮件地址与密码或手机号码登录,以及您想支持的任何联合身份提供方服务登录,请在 Google Cloud 控制台中启用相应选项,并完成身份提供方要求的所有配置,如设置您的 OAuth 重定向网址。 | |
为登录方法实现界面流程 | 对于电子邮件地址与密码登录,请实现一个提示用户输入电子邮件地址和密码的流程。对于电话号码登录,请创建一个提示用户先输入电话号码,然后输入在短信中收到的代码的流程。对于联合登录,请实现每个提供方所要求的流程。 | |
将用户的凭据传递给 SDK | 将用户的电子邮件地址和密码,或将从联合身份提供商获得的 OAuth 令牌传递给 SDK。 |
使用开源界面组件 | ||
---|---|---|
设置登录方法 | 如果要设置电子邮件地址与密码或手机号码登录,以及您想支持的任何联合身份提供商,请在 Google Cloud 控制台中启用相应选项,并完成身份提供商要求的所有配置,如设置您的 OAuth 重定向网址。 | |
自定义登录界面 | 您可以通过设置 FirebaseUI 选项来自定义登录界面。如需进行进一步自定义设置,可以复制 GitHub 上的代码。 | |
使用 FirebaseUI 执行登录流程 | 导入 FirebaseUI 库,指定您想支持的登录方法,然后启动 FirebaseUI 登录流程。 |
后续步骤
详细了解 Identity Platform 项目中的用户,然后查看与您想支持的登录提供商相关的集成指南: