谷歌一键注册总是返回noCredentialsAvailable

Ric*_*ams 6 javascript google-authentication google-oauth2 google-identity

我已经为新的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>
Run Code Online (Sandbox Code Playgroud)

我希望上面要么将凭证对象吐出到控制台,要么提示我选择一个谷歌帐户登录.而是抛出"noCredentialsAvailable"错误类型.当我使用googleyolo.retrieve诺言时也会发生这种情况.

我现在:

  • 有一个谷歌帐户登录和其他"谷歌登录"oauth流量工作
  • 我在localhost:3000(在我的google api凭证页面上也列为授权来源)加载上述内容

我错过了什么?

son*_*eff 2

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

最重要的检查事项如下:

  • 确保您拥有有效的 Google 帐户并且启用了智能锁功能。我们正在努力尽快删除这些要求,但目前,请尝试使用具有默认设置的常规 Gmail 帐户

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

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

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