概览

“使用 Google 帐号登录”功能可帮助您快速管理您网站上的用户身份验证。用户登录 Google 账号、表示同意,并安全地与您的平台共享其个人资料信息。

用户注册和登录支持可自定义的按钮和多个流程。

注册是指获得 Google 帐号持有人同意将其个人资料信息分享给您的平台的步骤。通常情况下,系统会使用这些共享数据在您的网站上创建一个新帐号,但这不是硬性要求。

登录是指让用户使用活跃的 Google 账号登录到您的网站,并为已登录其 Google 账号的用户提供个性化登录按钮一键快捷功能以及自动登录

如需了解“使用 Google 帐号登录”功能集成的一些成功案例,请参阅案例研究

您还可以使用 Google Identity Services Authorization API,它可以帮助您获取用于 Google API 的访问令牌,或用于访问用户数据。

“使用 Google 账号登录”演示

点击该按钮即可登录您的 Google 帐号。

用户隐私

“使用 Google 帐号登录”功能中的数据不会用于广告或其他非安全用途。

用例

在网站中添加“使用 Google 帐号登录”功能的部分原因如下:

  • 在帐号创建或设置页面中添加明显可信且安全的“使用 Google 帐号登录”按钮。
  • 使用 Google 账号资料中双方同意共享的数据预填充新账号。
  • 用户只需登录一次 Google 账号,而无需在其他网站上重新输入用户名或密码。
  • 回访用户时,用户可以自动登录,也可以一键访问整个网站。
  • 使用经过验证的 Google 账号可以保护评论、投票或表单免遭滥用,同时允许匿名处理。

支持的功能

“使用 Google 帐号登录”功能支持以下功能:

  • 注册,(可选)根据 Google 账号个人资料自动填充的新账号。
  • 登录,使用帐号选择器从多个帐号中进行选择。
  • 如果您已登录 Google 帐号,只需点按一下即可登录。
  • 用户回访时,使用计算机、手机甚至多个浏览器标签页自动登录。
  • 退出账号,以便在您的所有设备上停用自动登录功能。

请注意帐号状态如何影响“使用 Google 帐号登录”功能:

  • 暂停您的 Google 账号后,系统将停止通过“使用 Google 账号登录”功能登录所有网站。
  • 删除您的 Google 帐号或合作伙伴帐号会影响其中一个帐号,但不会影响另一个帐号。

与 OAuth 和 OpenId Connect 比较

OAuth 和 OpenId Connect 是开放标准,提供各种可配置选项,用于微调身份验证和授权流程的行为。如需了解详情,请参阅 Google 的 OAuth 文档

“使用 Google 帐号登录”功能提供单个 SDK,其中包含个性化按钮、一键快捷功能、自动登录和授权等多个相关功能。与标准 OAuth 和 OpenID Connect 协议相比,它旨在为开发者提供更轻松、更安全的体验,同时提供更顺畅的用户体验。

  • “使用 Google 帐号登录”功能基于 OAuth 2.0。用户通过“使用 Google 帐号登录”功能授予的权限与通过“使用 Google 帐号登录”功能授予的权限相同,反之亦然。
  • OAuth 2.0 也是业界标准的授权协议。它提供了一组端点,供依赖方使用 HTTP 进行集成。
  • Google Identity Services (GIS) API 支持多种语言,包括用于身份验证和授权的 JavaScript 和 HTML。
  • GIS 会将身份验证时刻与授权时刻分开。在进行身份验证时,只需将某些界面元素(如个性化按钮、一键快捷功能和自动登录)集成到您的网站中,即可实现快速集成。这些界面元素可在所有第三方网站上提供一致的身份验证用户体验。在授权那一刻,GIS 会触发 OAuth 流程,以代表用户返回用于数据访问的令牌。
  • GIS 身份验证可以简化与依赖方的集成,并减轻开发者的大部分 OAuth 和安全知识负担。您无需从各种方法中进行选择来获取访问令牌或授权代码,也不必承担选择错误方法的后果。虽然 OAuth 2.0 协议公开了许多详细信息(如 HTTP 端点的请求和响应参数),但 GIS 会为您处理这些实现细节。默认情况下,GIS 包含一些用于保护跨站请求伪造 (CSRF) 的安全实现。
  • 使用 HTML API 和代码生成器,GIS 身份验证可以进一步降低依赖方集成的标准。您无需 JavaScript 开发者即可生成代码。这样可以降低所需的 OAuth 经验水平,并缩短实现时间。
  • GIS 授权用户体验完全基于 OAuth 用户体验。但是,GIS JavaScript 库增加了一些限制,以实现更轻松、更安全的依赖方集成。
  • GIS 还提供了 OAuth 协议之外的一些功能。例如,它集成了 Password Credential Manager APIFederated Credential Manager API

借助 Google Identity 服务,开发者可以使用专门的集成式服务,帮助用户使用用户选择的任何登录凭据登录开发者的网站和应用。GIS 的使命是支持和简化多种类型凭据的用户体验,以降低依赖方集成的技术标准。

Federated Credential Manager (FedCM)

作为 Privacy Sandbox 计划的一部分,Chrome 将逐步取消对第三方 Cookie 的支持。GIS 集成了 FedCM API,FedCM API 是联合身份提供方的第三方 Cookie 的新替代方案,可保护隐私。GIS 于 2024 年 4 月开始将所有网站迁移到 Chrome 浏览器上的 FedCM。

单独的身份验证和授权时刻

要获取用于 Google API 的访问令牌,或者访问用户数据,您需要调用 Google Identity Services Authorization API。它是一个单独的 JavaScript API,但与身份验证 API 封装在一起。

如果您的网站需要同时调用身份验证 API 和授权 API,您需要在不同时刻分别调用它们。在进行身份验证时,您的网站可以与一键快捷功能、自动登录和“使用 Google 帐号登录”按钮集成,以允许用户登录或注册您的网站。稍后,如果需要访问 Google 的数据,您可以调用授权 API 来征求用户同意,并获取访问令牌以进行数据访问。这种分离符合我们建议的增量授权最佳实践,在这种情况下,需视情况请求权限。

为了实现这种分离,身份验证 API 只能返回用于登录您网站的 ID 令牌,而授权 API 只能返回仅用于数据访问而不用于登录的代码或访问令牌。

得益于这种分离,用户在各个不同网站上拥有一致的身份验证体验,从而提高用户的信任度和使用率,并提升您网站上的用户转化率。此外,由于这种分离,Google Identity 服务减少了身份验证开发者所需的 OAuth 体验水平和实现时间。