Credential Management API 是一种基于标准的浏览器 API,可在网站和浏览器之间提供编程接口,以实现跨设备无缝登录。
凭据管理 API:
- 消除登录流程的阻力 - 即使用户的会话已过期或凭据已在其他设备上保存,用户也可以自动重新登录网站。
- 允许使用帐号选择器一键登录 - 用户可以在原生帐号选择器中选择一个帐号。
- 存储凭据 - 您的应用可以存储用户名和密码组合,甚至联合帐号详情。浏览器可以跨设备同步这些凭据。
想要看看实际运用情况?不妨试用 Credential Management API 演示并查看相关代码。
检查 Credential Management API 浏览器支持
在使用 Credential Management API 之前,请先检查是否支持 PasswordCredential
或 FederatedCredential
。
if (window.PasswordCredential || window.FederatedCredential) {
// Call navigator.credentials.get() to retrieve stored
// PasswordCredentials or FederatedCredentials.
}
登录用户
如需让用户登录,请从浏览器的密码管理器中检索凭据,并使用这些凭据让用户登录。
例如:
- 当用户到达您的网站但并未登录的情况下,请调用
navigator.credentials.get()
。 - 使用检索到的凭据让用户登录。
- 更新界面以表明用户已登录。
如需了解详情,请参阅登录用户。
保存或更新用户凭据
如果用户使用 Google 登录、Facebook、GitHub 等联合身份提供方服务登录:
- 用户成功登录或创建帐号后,使用用户的电子邮件地址作为 ID 创建
FederatedCredential
,并使用FederatedCredentials.provider
指定身份提供方。 - 使用
navigator.credentials.store()
保存凭据对象。
如需了解详情,请参阅登录用户。
如果用户使用用户名和密码登录:
- 在用户成功登录或创建帐号后,使用用户 ID 和密码创建
PasswordCredential
。 - 使用
navigator.credentials.store()
保存凭据对象。
如需了解详情,请参阅保存表单中的凭据。
退出账号
当用户退出帐号时,调用 navigator.credentials.preventSilentAccess()
以防止用户自动重新登录。
停用自动登录功能还可让用户轻松地在帐号之间切换,例如在工作帐号和个人帐号之间切换,或在共享设备上的帐号之间切换,而无需重新输入其登录信息。
如需了解详情,请参阅退出帐号。