凭据管理 API

Credential Management API 是一种基于标准的浏览器 API,可在网站和浏览器之间提供程序化接口,以实现跨设备无缝登录。

Credential Management API:

  • 消除登录流程中的摩擦 - 即使用户的会话已过期或他们在其他设备上保存了凭据,也可以自动重新登录网站。
  • 允许使用账号选择器一键登录 - 用户可以在原生账号选择器中选择账号。
  • 存储凭据 - 您的应用可以存储用户名和密码组合,甚至可以存储联合账号详细信息。这些凭据可以由浏览器在设备之间同步。

想了解其实际运作方式?试用 Credential Management API 演示并查看代码

检查 Credential Management API 浏览器支持情况

Browser Support

  • Chrome: 51.
  • Edge: 18.
  • Firefox: 60.
  • Safari: 13.

Source

在使用 Credential Management API 之前,请先检查是否支持 PasswordCredentialFederatedCredential

if (window.PasswordCredential || window.FederatedCredential) {
  // Call navigator.credentials.get() to retrieve stored
  // PasswordCredentials or FederatedCredentials.
}

登录用户

如需登录用户,请从浏览器的密码管理工具中检索凭据,然后使用这些凭据登录用户。

例如:

  1. 当用户到达您的网站且未登录时,请调用 navigator.credentials.get()
  2. 使用检索到的凭据让用户登录。
  3. 更新界面以指示用户已登录。

如需了解详情,请参阅登录用户

保存或更新用户凭据

如果用户使用联合身份提供方(例如 Google 登录、Facebook、GitHub)登录:

  1. 用户成功登录或创建账号后,使用用户的电子邮件地址作为 ID 创建 FederatedCredential,并使用 FederatedCredentials.provider 指定身份提供程序。
  2. 使用 navigator.credentials.store() 保存凭据对象。

如需了解详情,请参阅登录用户

如果用户使用用户名和密码登录:

  1. 用户成功登录或创建账号后,使用用户 ID 和密码创建 PasswordCredential
  2. 使用 navigator.credentials.store() 保存凭据对象。

如需了解详情,请参阅从表单保存凭据

退出账号

当用户退出登录时,调用 navigator.credentials.preventSilentAccess() 可防止用户自动重新登录。

停用自动登录后,用户还可以轻松切换账号,例如在工作账号和个人账号之间切换,或在共用设备上的账号之间切换,而无需重新输入登录信息。

如需了解详情,请参阅退出

反馈