0

Google 的 One Tap 客户端 JS 库中似乎存在一个错误,该错误会在没有 Google 会话时阻止回退到本机凭据管理器。

预期行为:如果没有活动的 Google 会话并且因此未向用户显示一键提示,则执行回退到浏览器的本机凭据管理器。如果用户没有活动的 Google 会话,则可以使用凭据管理器中保存的密码凭据登录。因此,如果未显示 One Tap 提示,则会显示浏览器的本机凭据管理器,让用户选择用户名/密码组合。最后,要么执行对端点的 POST 请求,要么data-native_login_uri执行回调data-native_callback

当前行为:如所附屏幕截图所示,不是用 加载回调,而是用a.native_callback加载a.zc。当然a.zc不存在,比如回调设置为undefined。由于没有定义回调,浏览器本机凭证管理器永远不会显示。如果我们this.F = a.native_callback使用调试器进行更改,一切都会按预期进行。

此错误位于gis_client_library网站中包含 Google One-tap 注册和自动登录库时加载的 JS 库中。具体来说,这个 bug 会影响data-native_callbackOne Tap 配置对象的 HTML 属性和方法的native_callbackJS 参数google.accounts.id.initialize。我的配置对象如下所示:

<div id="g_id_onload"
    data-client_id="XXX.apps.googleusercontent.com"
    data-auto_select="false"
    data-callback="handleTokenCredential"
    data-native_callback="handlePasswordCredential"
></div>

有没有人成功地使用原生凭证管理器配置 Google One Tap API 作为后备?

在此处输入图像描述

4

1 回答 1

0

这是在 Google 方面修复的(截至 2020 年 8 月)。

于 2020-08-03T16:12:25.440 回答