自动 "Continue as" Google 弹出窗口的文档

Documentation for the automatic "Continue as" Google popup

如何在我的网站上获得自动 "Sign in with Google" 框架之一?例如,如果您登录帐户并访问 Kayak.com,就会发生这种情况。任何 documentation I come across 都适用于较旧的 "Sign in with Google" 按钮。

这是访问 Kayak.com 时的样子。

编辑(2020 年 10 月 29 日):

第一个 link 现在又开始工作了(正如 @ManSamVampire 所指出的):

https://developers.google.com/identity/one-tap/web

编辑(2019 年 11 月 9 日):

看来 link 现在会导致 404。我找不到有关一键登录消失的任何信息。

原答案:

我有同样的问题并找到了这个(我Googled“google自动登录”):

https://developers.google.com/identity/one-tap/web/

他们的屏幕截图适用于移动设备,但弹出窗口看起来与您在其他网络应用程序上看到的完全一样。

如果您单击 指南 选项卡,您应该会在那里找到一些文档,包括 入门 部分:

https://developers.google.com/identity/one-tap/web/get-started

这将向您展示如何像设置任何其他 Google API 一样设置凭据,例如 地图 JavaScript API 例如。

获得凭据后,您可以从主 HTML 文件中的 Google 或加载其他脚本的任何地方加载库,如果有的话:

<script src="https://smartlock.google.com/client"></script>

然后您应该能够通过 googleyolo 对象访问库:

window.onGoogleYoloLoad = (googleyolo) => {
  // The 'googleyolo' object is ready for use.
};

您在该屏幕截图中看到的内容(以及我所看到的内容)看起来是 googleyolo.hint() 调用。

这似乎取决于用户是否已经登录该站点。如果他们有或者如果他们在浏览器中为网站保存了密码,那么它应该会自动让他们登录或至少提示输入密码。 API 除了使用前面提到的 googleyolo.hint() 调用的登录外,还处理注册。

可以在 指南 页面上找到更详细的代码示例。

您还需要控制此站点的后端,以验证来自成功的 googleyolo.hint()googleyolo.retrieve() 调用的 ID 令牌 的完整性。 https://developers.google.com/identity/one-tap/web/idtoken-auth.