Google Smartlock / Googleyolo未返回已保存的密码

时间:2018-02-08 06:56:24

标签: javascript google-api google-authentication google-identity google-smartlockpasswords

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

我目前已在浏览器中登录Google。 我尝试使用googleyolo api,使用ctx.fillText("Your text here",canvas.width/2, canvas.height/2); 函数记录:

.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)); ,没有返回密码。

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

问题是, 1.出了什么问题? 2. googleyolo在哪里获得凭据列表?因为我查看了https://passwords.google.com,我的凭据存在 3.我应该做什么/排除故障以获取我的密码凭证?

2 个答案:

答案 0 :(得分:1)

对于这种混淆,很抱歉,密码仅适用于支持Credential Management API的浏览器(库用于检索密码)。将更新文档以澄清这一点。

答案 1 :(得分:0)

不确定您在哪里获得" googleyolo:// id-and-password"来自supportedAuthMethods参数。在您的链接中,它明确指出只支持Google。

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

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

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

useGoogleIdTokenForAuth(credential.idToken);