Google 一键注册总是 returns 没有可用的凭据

Google one tap sign up always returns noCredentialsAvailable

我已经为新的 google 一键登录/注册设置了基本测试。

<!DOCTYPE html>
<html lang="en">

<head></head>

<body>
  <script src="https://smartlock.google.com/client"></script>
  <script>
    window.onGoogleYoloLoad = (googleyolo) => {
      googleyolo.hint({
        supportedAuthMethods: [
          "https://accounts.google.com"
        ],
        supportedIdTokenProviders: [{
          uri: "https://accounts.google.com",
          clientId: "xxxxx-xxxxx.googleusercontent.com"
        }],
        context: "signUp"
      }).then((credential) => {
        console.log(credential);
      }, (error) => {
        console.log(error.type);
      });
    };
  </script>
</body>

我希望上面的代码能够将凭据对象输出到控制台,或者提示我选择一个 google 帐户来登录。而是抛出 "noCredentialsAvailable" 错误类型。当我使用 googleyolo.retrieve 承诺时也会发生这种情况。

我目前:

我错过了什么?

我们刚刚发布了一些故障排除指南:https://developers.google.com/identity/one-tap/web/troubleshooting

要检查的最重要的事情如下:

  • 确保您有一个有效的 Google 帐户并且启用了 Smart Lock 功能。我们正在努力尽快删除这些要求,但现在,请尝试使用具有默认设置的常规 gmail 帐户

  • 确保您在任何请求中提供 Google 客户端 ID,并且您所在的域 运行 代码是授权来源,包括端口。有关详细信息,请参阅文档

  • 检查您使用的是受支持的用户代理。重要的是,Chrome 开发工具中的 iOS 模拟模式已过时(待修复)

如果您仍然无法正常工作,或者有任何反馈,我们很乐意听取您的意见:联系 sso@google.com