对Google今年早些时候宣布的一台水龙头标志有些困惑。我们的应用程序已经在Chrome中的用户凭证管理API,该API基本上为用户提供了基于用户在上一次访问时为我们的网站保存的凭据(密码保存在Chrome中的密码)。当我阅读一次点击登录的文档时,它有望做同样的事情,但使用Google的客户端API ID。我们的应用程序拥有自己的ID提供商,其中包含我们自己的用户名和密码数据库,从文档中看来,一个点击登录不支持自定义ID提供程序。谁能对此有更多的启示,为什么我要对另一个使用一个?
谢谢karthik
我看到了两个主要区别:
-
一点点是无密码 - 它使用了基于令牌的登录名,该登录从未公开用户的密码。Chrome凭据管理API存储并检索Chrome的密码存储中的实际密码。
-
一点点纯粹是基于Web的 - Chrome凭证管理API依赖于Chrome的特定实现。一点点是纯粹基于网络的工作流程,因此它将在浏览器上工作。
我认为,一台水龙头是一个更好的长期登录解决方案。凭证管理API是实验性的,目前仅在Chrome中得到支持。
https://developer.mozilla.org/en-us/docs/web/api/credential_management_api#browser_compatibility
i在Google上为单tap/自动登录图书馆领导产品开发,我们设计了它,使得库包括凭据管理API,并扩展以提供帮助帐户创建,安全无密码和跨浏览器支持。
尤其是,如果您要求使用这样的代码要求现有凭据:
googleyolo.retrieve({
supportedAuthMethods: [
"https://accounts.google.com",
"googleyolo://id-and-password"
],
supportedIdTokenProviders: [
{ uri: "https://accounts.google.com", clientId: "CLIENT_ID" }
]
});
然后,将返回凭证管理API的任何保存的用户名/密码,在支持API的浏览器中以及Google帐户的令牌数据。一击/自动登录JavaScript库包装凭证检索的凭据管理API。
此外,该库提供了一种googleyolo.hint
方法来显示电子邮件选择器,以一键选择经过验证的电子邮件地址以帮助创建新帐户,或链接到现有帐户,然后下次自动登录只要有相同的Google帐户活动,都可以使用令牌而不是密码。
我建议使用一击/自动登录库和消耗令牌以及密码以获取辅助注册,即使浏览器确实可以自动保持现有用户的登录并提供功能不支持凭证管理API。
至于关于使用您自己的用户名/密码数据库的问题,此库的希望是您可以使用代表用户的OpenID Connect ID代币来创建帐户并自动登录这些帐户和自动登录这些帐户和现有帐户身份。使用一击/自动登录UX,这些不仅可以更可用,而且更安全,而不是密码并减轻弱/重复使用的密码的创建。请考虑一下,或者更好,甚至更好的是托管的AUTH解决方案,例如Firebase Auth或Auth0,并在前端UI中包含一个TAP UX。