首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google智能锁与凭据管理API

Google智能锁与凭据管理API
EN

Stack Overflow用户
提问于 2017-11-03 12:55:45
回答 1查看 1.8K关注 0票数 3

我想在我的web应用程序的过程中实现无摩擦签名。

经过一番搜索,我发现有两种解决方案:

我的问题是,这两个API的区别(如果有的话)是什么,以及这两个API的可能用例是什么。

据我所知,两者都允许我们保存与帐户有关的信息。但智能锁的优点是,保存的凭证也可以用于相应的android应用程序。

谢谢!

Note:我打算支持多个来源的登录(google、facebook、linkedin等),而不仅仅是google。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-05 02:07:00

TL;博士,一键登录/自动登录库,包括凭证管理。您可能应该只使用库:https://developers.google.com/identity/one-tap/web/get-started

详细信息

JavaScript库支持使用Google帐户创建帐户(通过一个精简的内联用户界面,它可以显示在内容页面上,而用户必须导航到传统的基于按钮的用户界面,并确定选择哪个按钮/选项并与弹出/重定向交互)。

对于返回的用户,该库允许您在页面上以编程方式检索现有的一键/传统Google登录用户的令牌,以及支持它的浏览器中的凭据管理API中的密码。您可以使用如下代码来完成此操作:

代码语言:javascript
复制
const retrievePromise = googleyolo.retrieve({
  supportedAuthMethods: [
    "https://accounts.google.com",
    "googleyolo://id-and-password"
  ],
  supportedIdTokenProviders: [
    {
      uri: "https://accounts.google.com",
      clientId: "YOUR_GOOGLE_CLIENT_ID"
    }
  ]
});

retrievePromise.then((credential) => {
  if (credential.password) {
    // An ID (usually email address) and password credential was retrieved.
    // Sign in to your backend using the password.
    signInWithEmailAndPassword(credential.id, credential.password);
  } else {
    // A Google Account is retrieved. Since Google supports ID token responses,
    // you can use the token to sign in instead of initiating the Google sign-in
    // flow.
    useGoogleIdTokenForAuth(credential.idToken);
  }
}

有关细节,请参阅文档。该库目前不支持非谷歌/密码形式的身份,您必须实现与其他提到的身份提供者SDK的登录流。

还要注意的是,任何与Google帐户(基于OAuth令牌或存储和同步密码)相关的登录都可以在Android和Chrome (以及其他基于令牌的帐户)中使用。

如有任何后续问题,请留下评论。

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

https://stackoverflow.com/questions/47096337

复制
相关文章

相似问题

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