根据文档(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.我应该做什么/排除故障以获取我的密码凭证?
答案 0 :(得分:1)
对于这种混淆,很抱歉,密码仅适用于支持Credential Management API的浏览器(库用于检索密码)。将更新文档以澄清这一点。
答案 1 :(得分:0)
不确定您在哪里获得" googleyolo:// id-and-password"来自supportedAuthMethods参数。在您的链接中,它明确指出只支持Google。
googleyolo从您当前的浏览器中获取用户列表。如果您有多个用户登录Google帐户,您将获得更多用户。
当我实施Google登录时,我只是使用idtoken来确认用户的身份。调用googleyolo没有密码返回。
确认用户身份后,您可以使用提供的方法登录。
useGoogleIdTokenForAuth(credential.idToken);