0

根据文档(https://developers.google.com/identity/one-tap/web/retrieve-credentials),我们可以获取我们保存的密码,就像我们在 Chrome 上使用 Credential Management API 时一样。

我目前已经在浏览器中登录了 Google。我尝试使用 googleyolo api,使用.retrieve()文档中的函数:

const retrievePromise = googleyolo.retrieve({
  supportedAuthMethods: [
    "https://accounts.google.com",
    "googleyolo://id-and-password"
  ],
  supportedIdTokenProviders: [
    {
      uri: "https://accounts.google.com",
      clientId: "*********-**********.apps.googleusercontent.com"
    }
  ]
}).then(res => console.log(res));

它只返回idToken,不返回密码。

但奇怪的是,当我尝试在 Chrome 上使用凭据管理 API 时,我保存的凭据弹出。

问题是,1. 出了什么问题?2. googleyolo 从哪里得到它的凭证列表?因为我检查了我的https://passwords.google.com,并且我的凭据存在 3. 我应该怎么做/疑难解答才能获得我的密码凭据?

4

2 回答 2

1

很抱歉造成混淆,密码仅在支持凭据管理 API(库用于检索密码)的浏览器中可用。将更新文档以澄清这一点。

于 2018-03-08T18:33:32.157 回答
0

不确定从supportedAuthMethods 参数中从哪里获得“googleyolo://id-and-password”。在您的链接中,它明确表示仅支持 Google。

googleyolo 从您当前的浏览器中获取用户列表。如果您有多个用户登录 Google 帐户,您将获得更多用户。

当我实现 Google 登录时,我只是使用 idtoken 来确认用户的身份。调用 googleyolo 没有返回密码。

确认用户身份后,即可使用提供的方法登录。

useGoogleIdTokenForAuth(credential.idToken);
于 2018-02-20T14:55:00.530 回答