“使用 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 协议更便捷、更安全的开箱即用体验,同时提供更顺畅的用户体验。
- 使用 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 API 和 Federated Credential Manager API(即将发布)。
借助 Google Identity Services,开发者可以使用专门的集成服务,帮助用户使用用户选择的任何登录凭据登录开发者的网站和应用。 GIS 的使命是为多种凭据提供支持和简化用户体验,从而降低依赖方集成的技术门槛。
单独的身份验证和授权时刻
如需获取用于 Google API 的访问令牌或访问用户数据,您需要调用 Google Identity Services 授权 API。它是一种单独的 JavaScript API,但会与 Authentication API 打包在一起。
如果您的网站需要同时调用身份验证 API 和授权 API,您需要在不同的时刻分别调用它们。在身份验证时,您的网站可以与一键登录、自动登录和/或“使用 Google 帐号登录”按钮集成,以允许用户登录或注册您的网站。稍后,当需要从 Google 访问数据时,您可以调用授权 API 来征求用户同意并获取用于数据访问的访问令牌。这种分离符合我们建议的增量授权最佳做法,在这种实践中,权限在上下文中请求。
为了实现这种分离,Authentication API 只能返回用于登录您网站的 ID 令牌,而授权 API 只能返回仅用于数据访问而不用于登录的代码或访问令牌。
得益于这种分离,用户在不同的网站上将获得一致的身份验证体验,从而可提高用户的信任度和使用,并提高您网站上的用户转化率。此外,由于这种分离,Google Identity Services 降低了身份验证开发者所需的 OAuth 体验级别和时间。