概览

“使用 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 体验水平和实现时间。