概览

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

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

“注册”是指获得 Google 帐号持有人同意以与您的平台共享其个人资料信息的步骤。通常会使用此共享数据在您的网站上创建新帐号,但这并非强制要求。

登录是指用户使用其活跃 Google 帐号访问您的网站,并向其提供个性化登录按钮一键快捷自动登录(针对已登录 Google 帐号的用户)。

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

您还可以使用 Google Identity Services 授权 API,该 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 帐号登录”功能授予的权限与通过 OAuth 授予的权限相同,反之亦然。
  • 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 Services,开发者可以使用一项专门的集成式服务,帮助用户使用用户选择的任何登录凭据登录开发者的网站和应用。GIS 的使命是支持和简化多种类型凭据的用户体验,以降低依赖方集成的技术标准。

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

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

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

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

得益于这种分离,用户在不同的网站上都能获得一致的身份验证体验,从而提高用户的信任度和使用率,并提高您网站上的用户转化率。此外,由于这种分离,Google Identity Services 可以降低身份验证开发者所需的 OAuth 体验水平,并缩短实现身份验证开发者所需的时间。