使用通行密钥、数字凭据等方式实现身份验证现代化

Published: May 21, 2026

在 Google I/O 2026 大会上,我们讨论了如何让登录不再是一件苦差事。登录应该是一个安全、简化的入口点,让用户真正感到安全。 本文将回顾如何修复账号流程、减少摩擦并从一开始就保护用户。

快速访问

为何现代化至关重要

高摩擦流程(例如杂乱的注册表单、令人恼火的“忘记密码”循环或一堆登录按钮)会破坏用户体验。它们是“上下文切换杀手”,会将用户赶走。老式的密码和一次性密码 (OTP) 也会让用户容易受到钓鱼式攻击。

每增加一秒的摩擦,用户流失的可能性就增加一分。对身份验证进行现代化改造可以保护您的系统和用户。通过简化身份验证流程中的每个接触点,您可以自然而然地提高转化率。例如,pixiv 在实现通行密钥后,登录成功率高达 99% (比 密码登录提高了 29%)。放弃使用弱凭据可以提高速度和安全性。

简化账号创建流程

用户与应用的首次互动会影响用户体验。简化账号创建流程是提高采用率和安全性的第一步。

将身份联合作为主要的账号创建方法

您可以使用 身份 联合让用户跳过繁琐的账号创建表单, 让用户使用 Google 等受信任的提供商注册。这样可以提供稳健且简化的注册体验,让用户无需执行典型的注册“苦差事”即可进入您的应用。

联合意味着用户不必手动输入姓名或电子邮件地址。由于提供商已验证用户身份,因此您可以跳过冗余步骤来单独验证用户身份,并吸引更多用户。

此外,采用联合身份解决方案还可以让您继承专用 IdP(身份提供方)的安全级别。由于 IdP 专注于身份和安全,因此依赖其基础架构可以消除从头开始构建身份验证的风险。

采用 Federated Credential Management (FedCM) API

如果您充当 IdP,我们建议您采用 FedCM API。它通过 浏览器界面处理互动,通过防止跟踪来保护隐私,同时为用户提供 一键登录功能,并仅显示 相关账号,从而简化 界面

桌面设备上显示一个 FedCM 登录主动模式对话框,要求用户使用其账号登录。该对话框包含一个品牌图标,以及使用 IdP 提供的当前账号登录 RP、选择其他账号或取消的选项。对话框居中显示,并且比被动模式对话框大。
FedCM:活动模式界面对话框。详细了解 FedCM 提供的可用界面模式

“联合,然后升级”模式

“联合,然后升级”模式结合了联合的速度和通行密钥的长期安全性。如果您在联合注册后立即提示用户使用通行密钥,那么用户下次登录时将从第一天起就能够抵御钓鱼式攻击。

针对自动填充优化表单

如果必须使用手动表单,请使用描述性 nameid 属性以及正确的 autocomplete 值,以便浏览器为用户填写字段。这样可以减少注册过程中的认知负担和输入错误的可能性。如需详细了解表单优化,请参阅我们的注册表单最佳 实践

<label for="email">Email</label>
<input type="email" id="email" name="email" autocomplete="email">

<label for="password">New Password</label>
<input type="password" id="password" name="password" autocomplete="new-password">

顺畅的属性验证

让用户离开您的应用以检查电子邮件中的验证码会降低转化率。这种上下文切换会让用户分心,并且永远不会回来。

隆重推出电子邮件验证协议 (EVP)

电子邮件验证协议 (EVP) 是一项新兴 功能,可让您的应用直接 通过浏览器获取经过验证的电子邮件地址。

如需选择使用此功能,请附加一个隐藏的输入字段,其中包含 autocomplete="email-verification-token"属性和一个challenge。浏览器会从输入中解析电子邮件网域,并请求电子邮件发件人验证用户是否拥有此电子邮件的控制权。验证成功后,浏览器会显示经过验证的电子邮件声明,您的后端可以立即验证该声明。对于用户而言,此流程是无缝的;他们只会看到电子邮件验证通知。

EVP 消除了登录、注册和重设密码时需要用户执行的繁琐操作(例如魔法链接或电子邮件动态密码),从而避免用户流失。

<input id="email" type="email" autocomplete="email">
<input type="hidden" name="token" challenge="1234" autocomplete="email-verification-token">

请注意,是否支持 EVP 由各个电子邮件服务提供商决定。 请与您的特定提供方联系,了解他们是否计划支持 EVP。如果您拥有自定义网域,则可以将其连接到支持 EVP 的电子邮件提供商,以支持 EVP。

由于此功能仍处于实验阶段,我们欢迎您在 GitHub 代码库中提供有关此功能的反馈。

电子邮件验证协议 (EVP) 流程示例。

Digital Credentials API

对于法定全名或年龄等敏感详细信息,Digital Credentials API 提供了一种通过浏览器中介使用 选择性披露从用户钱包请求经过验证 的数据的方法。 这意味着,您可以验证用户是否超过特定年龄,而无需实际接收用户的完整出生日期或法定全名,从而保护用户的隐私。

请参阅 Digital Credentials API:在网络上安全且私密地验证身份

实现通行密钥,实现无缝登录

通行密钥不仅仅是密码的替代品。它们是向无缝防钓鱼式攻击身份验证的根本转变。

即时界面模式

从 Chrome 149 开始,即时界面模式可用。 它允许网站在用户浏览到您的网站时立即检查凭据。如果密码管理器中有通行密钥或密码,浏览器会立即在登录对话框中显示可用账号列表,从而中介流程。

这样一来,用户无需选择登录方法。通过主动提供所选账号的凭据,您可以打造顺畅的“一键快捷功能”体验,让用户感觉就像魔法一样。

const credential = await navigator.credentials.get({
  password: true,
  uiMode: 'immediate',
  publicKey: publicKeyObject,
});

请参阅登录的即时界面模式

通行密钥表单自动填充:在过渡到通行密钥时使用表单自动填充

对于正在从密码过渡到通行密钥的网站上的用户,通行密钥表单自动填充功能允许在输入字段获得焦点时在自动填充建议中显示通行密钥。这意味着,如果用户已有通行密钥,则在登录表单中将用户名字段设为焦点时,系统会显示通行密钥。如果用户没有通行密钥,则仍可以使用已保存的密码。

通过表单自动填充选择通行密钥的示例。

如需启用此功能,请使用 autocomplete="username webauthn" 注解用户名字段,并在调用 navigator.credentials.get()时将 mediation 值设置为 'conditional'

这是过渡到无密码未来的关键桥梁,因为它让用户在熟悉的界面中熟悉通行密钥。

请参阅通行密钥身份验证 核对清单

战略性地采用通行密钥

采用通常取决于时机。在恰当的时机提示用户可以显著提高用户注册通行密钥的可能性。

自动创建通行密钥

没有人愿意深入研究安全设置,只是为了设置新的登录方法。对于现有密码用户,您应该如何以及何时提示用户升级到通行密钥?

这时,自动创建通行密钥 功能就派上用场了。借助条件式创建,浏览器可以在用户使用密码管理器登录的那一刻自动将密码用户升级到通行密钥。

具有条件式创建功能的通行密钥请求流程。

通过将 mediation: 'conditional' 传递给 navigator.credentials.create() API,并由用户最近使用密码管理器中保存的密码成功登录触发,浏览器会以原生方式生成新的通行密钥,而无需强制用户完成额外的设置屏幕。

零摩擦注册意味着用户不必有意识地决定提高安全性。它会自动发生,无需用户付出任何额外努力即可保护用户。例如,adidas 通过使用这种零提示 策略,通行密钥 创建量提高了 8%

await navigator.credentials.create({
  mediation: 'conditional',
  publicKey: { ... },
});

请参阅通行密钥注册 核对清单

通行密钥管理和弹性恢复

对于用户而言,在各种设备、网站和服务中随时随地使用凭据非常重要。此外,管理凭据并确保用户在设备丢失或被盗时可以恢复账号也很重要。

跨平台一致性

如果您有多个共享登录系统的媒体资源(例如 Android 应用和网站,或多个网站),则可以改善用户体验。借助 无缝凭证共享,密码管理器可以在您的所有媒体资源中向用户推荐正确的凭据。

无缝凭据 共享 包含两项技术:密码的 Digital Asset Links 和通行密钥的相关 来源请求。

使用 Digital Asset Links 可确保在网站上创建的密码在 Android 应用中可用,反之亦然。它还允许密码管理器在您拥有的共享同一身份验证后端的不同网域中推荐已保存的凭据。

使用 相关来源 请求,通过用户的 凭据管理器在不同的网域和应用中提供 通行密钥。

这是让用户登录体验更顺畅的另一种方式。

为用户提供通行密钥管理页面

显示良好实践的通行密钥管理页面示例。

为了提供完善的通行密钥体验,我们建议您创建一个专用的 通行密钥管理页面,其中 支持清晰的提供方名称、使用时间和控制功能。这有助于用户放心地管理其设置。透明度可以建立信任。

请参阅通行密钥管理 核对清单

弹性账号恢复

设备可能会丢失或升级。通行密钥具有固有的弹性,因为它们使用硬件级保护,并且通常在云端同步,允许用户在新设备上恢复通行密钥。不过,拥有经过验证的电子邮件地址等备用方案可确保用户永远不会失去对其数字生活的访问权限。

您可以使用您已信任的信号(例如身份联合或邮箱验证)来证明用户是所有者,而不是让用户等待帮助台电话。

将这些信号组合到恢复策略中,您可以立即恢复访问权限。恢复访问权限后,立即注册新的通行密钥,以便用户再次受到钓鱼式攻击的保护。

使用 DBSC 保护会话

为了保护用户免受账号盗用,确保会话 Cookie 的安全是另一项重要的防御措施。设备绑定会话凭证 (DBSC) 是一种将 会话绑定到硬件的方法。这样可以缓解会话劫持,因为即使 Cookie 被盗,也只有同一设备可以请求重新发放 Cookie,从而有效地为会话添加另一层安全性。

DBSC 是一项实验性功能,现已在 Windows 上推出。如需详细了解此更新,请参阅 Windows 上的设备绑定会话凭证 公告。我们还在努力将 DBSC 支持范围扩大到 macOS。

通行密钥代理技能

我们在 现代 Web 指南项目中加入了通行密钥技能,涵盖了本文中介绍的许多方面。我们很快就会发布一篇专门介绍通行密钥技能的博文。

准备好打造身份验证的未来了吗?

探索我们的深入指南,立即开始现代化改造: