对用户进行身份验证

为了对 Google Cloud 应用中的用户进行身份验证,Google 提供了以下方法:

身份验证服务 用途
Firebase Authentication 提供多种用户身份验证选项,包括 Google、Facebook 和 Twitter。这种验证方式支持的用户数量最多,而且需要维护的代码量最小。
Google 登录 Google 登录可提供 Gmail 和 Google Workspace 账号登录机制并支持动态密码 (OTP)。这是支持 Google 专用账号或在现有登录系统中支持 Google 账号的最简单的方法。
OAuth 2.0 和 OpenID Connect OpenID Connect 可让您从最底层开始处理和使用身份验证令牌,自定义程度最高。
Google Cloud Identity Platform Identity Platform 是一个客户身份和访问权限管理 (CIAM) 平台,可帮助组织为应用添加身份和访问权限管理功能。此选项非常适合希望成为自己的身份提供商的用户。
Users API Users API 是用于对 Google 和 Google Workspace 账号进行身份验证的旧版捆绑服务之一。此内置 API 仅适用于 App Engine。
Identity-Aware Proxy (IAP) IAP 允许您在请求到达应用资源之前控制对 App Engine 服务的访问权限。您可以使用 IAP 为应用建立一个中央授权层,并使用签名标头或 App Engine Users API 来保护应用的安全。 与此表格中的其他身份验证服务不同,IAP 会先执行身份验证,然后应用才可供访问。本页面中的其他选项在应用中实现身份验证。

Firebase Authentication

Firebase 身份验证提供安全可靠的现成身份验证系统,支持您的用户使用任何想用的账号进行登录。除了使用 Google、Facebook、Twitter 等进行联合登录之外,Firebase 身份验证还支持密码身份验证,因而您可以随着桌面设备和移动设备用户数量的增长轻松扩大身份验证系统的规模。

Firebase 身份验证是为 Google App Engine 应用设置用户身份验证的最简单方法。如需详细了解 Firebase 身份验证,请参阅以下资源:

Google 登录

如果您想在自己的网站或应用中提供 Google 登录按钮,或者您的网域使用了 Google 管理控制台并且您希望根据其登录信息对用户进行身份验证,则可以使用 Google 登录,这是我们以 OAuth 2.0 和 OpenID Connect 协议为基础构建的登录客户端库。

Google 登录适用于 Web 应用iOSAndroid

OAuth 2.0 和 OpenID Connect

Google 登录基于 Google 的 OAuth 2.0 实现,该实现符合 OpenID Connect 规范并已通过 OpenID 认证

OpenID Connect 是以 OAuth 2.0 协议为基础构建的身份层,您的应用可以使用它来检索用户个人资料信息

Identity Platform

Identity Platform 提供可自定义的普适性身份和身份验证服务,为您处理用户注册和登录流程。Identity Platform 支持多种身份验证方法(SAML、OIDC、电子邮件地址/密码、社交媒体服务、电话号码和自定义身份验证),以便为各种身份验证解决方案提供灵活的集成选项。Identity Platform 以 Google Cloud 的全球规模、性能、网络和安全性为基础,提供企业级的支持和服务等级协议 (SLA),可满足几乎所有应用或服务的需求。

Identity Platform 提供了自己的用户身份系统。如果您已为您的网域使用 Google Workspace,并且想要根据该登录信息对用户进行身份验证,则应使用 Google 登录

如需了解如何将 Identity Platform 与 App Engine 集成,请参阅在 App Engine 上登录用户方法指南。

Users API

Users API 允许应用执行以下任务:

  • 检测当前用户是否已登录。
  • 将用户重定向到相应的登录页面进行登录。
  • 如果用户还没有 Google 账号,则要求他们创建一个账号。

用户登录应用后,应用可以访问用户的电子邮件地址。应用还可以检测当前用户是否为管理员,从而轻松实现仅管理员能够访问的应用区域。

如需了解详情,请参阅 Users API 概览

Identity-Aware Proxy (IAP)

对于入站外部请求,IAP 通过在资源的前面添加一个身份验证和授权层来保护应用的安全。IAP 无法针对项目内的活动提供保护,例如同一项目内的其他 App Engine 服务。未经授权的用户将无权访问您的 App Engine 应用。

受 IAP 保护的服务或应用只能由具有正确 Identity and Access Management (IAM) 角色主账号访问。如果用户尝试访问受 IAP 保护的资源,IAP 会为您执行身份验证和授权检查。如需了解 IAP 如何保护应用资源,请参阅 IAP 概览

您可以为整个应用、特定服务或应用版本启用 IAP。请参阅 IAP 快速入门,了解如何为 App Engine 资源配置 IAP。