首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google一键登录不返回idToken

Google一键登录不返回idToken
EN

Stack Overflow用户
提问于 2017-10-27 14:30:31
回答 2查看 1.8K关注 0票数 4

我正在努力使新的谷歌一键标志在工作中遵循以下指南:

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

当我打电话:

代码语言:javascript
复制
const hintPromise = googleyolo.hint({
  supportedAuthMethods: [
    "https://accounts.google.com"
  ],
  supportedIdTokenProviders: [
    // Google can provide ID tokens -- signed assertions of a user's
    // identity -- which you can use to create more streamlined sign-in
    // and sign-up experiences.
    {
      uri: "https://accounts.google.com",
      clientId: "YOUR_GOOGLE_CLIENT_ID"
    }
  ]
});

我在承诺回调中得到一个响应,没有错误。但idToken是空的。

代码语言:javascript
复制
hintPromise.then((credential) => {
    if (credential.idToken) {                       // <= THIS IS ALWAYS FALSE!!!
        // Send the token to your auth backend.
        loginWithGoogleIdToken(credential.idToken);
    }
}, (error) => { console.log(error); });

credential对象如下所示:

代码语言:javascript
复制
{
  authDomain: "http://localhost:3000",
  authMethod: "https://accounts.google.com",
  displayName: "testName",
  id: "testEmail@gmail.com"
}

有人想办法让这件事成功吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-29 10:25:31

我也有同样的问题,但通过在https://console.developers.google.com/上为我的项目添加正确的“授权的JavaScript源”来解决这个问题。我需要包含URI,包括端口"http://localhost:3000“,而不仅仅是"http://localhost”。

在google页面中--“如果使用的是非标准端口,则必须将其包含在源URI中。”

票数 9
EN

Stack Overflow用户

发布于 2017-11-01 01:54:46

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

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

  • 确保在任何请求中都提供了Google客户端ID,并且运行代码的域是授权来源,包括端口。详情请参阅文件
  • 确保您有一个活动的谷歌帐户和智能锁功能是启用的。尝试使用具有默认设置的常规gmail帐户。
  • 检查是否使用了受支持的用户代理。重要的是,Chrome工具中的iOS仿真模式已经过时(修复挂起)。

如果你仍然不能让它工作,或者有任何反馈,我们很想听到你的意见:联系sso@google.com

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46977458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档