从规范到实践 · 中文开发手册

理解 Passkey,
构建无密码
登录。

从一对公私钥开始,理解 WebAuthn 的工作原理,
再亲手完成一次安全的注册与登录。

基于 W3C WebAuthn Level 2保留英文原文链接

A CLEAR PATH TO BUILD

先建立直觉,再把流程跑通。

不必从头啃规范。
沿着这条路线,一步一步理解。

THE COMPLETE GUIDE

把每一个「为什么」讲清楚。

全文阅读 / 打印
01

从英文规范开始,学会 Passkey 开发

Passkey(通行密钥)让用户通过设备上的解锁方式登录网站。对开发者来说,核心变化是:服务器保存公钥,登录时验证一次性挑战的签名,而不是接收用户输入的…

02

术语与安全边界

学习 WebAuthn,先把“网站、浏览器、认证器、账户、凭据”区分开。它们承担不同职责;错误地把某一方返回的数据直接当成可信事实,往往比加密算法选错更…

03

注册与认证:把信任链串起来

WebAuthn 的浏览器调用各只有一个主要入口,但一次安全登录需要服务器、客户端、认证器和用户共同完成。理解每一步携带什么、验证什么,才能判断代码是否…

04

注册详解:安全地绑定一把新公钥

注册的目标是:让认证器创建一个面向本网站的凭据,然后由服务器验证并绑定到正确账户。navigator.credentials.create() 只完成浏…

05

认证详解:从签名到可信登录会话

认证使用 navigator.credentials.get() 请求已有凭据产生断言。真正决定登录成功的是服务器:它必须找到已登记公钥,验证本次响应和…

06

服务端验证:安全判断发生在哪里

浏览器弹出系统窗口、用户完成指纹验证,都不代表你的网站已经确认登录。最终决定来自服务器:使用已保存的公钥,验证本次响应,并确认它属于正确的操作与账号。

07

完整示例:本地注册与无用户名登录

下载并运行一套完整的 Node.js 示例,从发出 challenge、调用浏览器 API,到服务器验签和建立会话。它创建独立的匿名学习账号,无需邮箱或…

08

现代 Passkey 补充:同步、条件式 UI 与能力检测

本章明确区分历史规范与后续实践:前面的核心协议以 WebAuthn Level 2 为主;这里补充 Passkey 生态和 Level 3 内容。截至本…

09

从学习示例到生产系统

Passkey 解决凭据证明问题;账号归属、会话、恢复和凭据管理,仍然是应用自己的责任。本章把规范中的安全与隐私要求整理成开发检查项。

10

调试、错误与测试

先确定失败发生在哪一层:选项生成、浏览器调用、JSON 编解码,还是服务端验证。把所有问题归结为“指纹失败”,会掩盖最常见的配置和协议错误。

11

英文规范导读与章节对照

掌握注册与登录后,回到英文规范核对边界。这份导读保留原有章节与链接,帮助你按问题定位,而不把浏览器和认证器实现算法误当作必须自己手写的业务代码。

12

来源、版本与译注

本项目是一份面向 Web 开发者的中文学习文档:整理翻译 WebAuthn Level 2 的核心内容,并配上独立讲解与示例代码。它不是 W3C 授权译…

READ WITH CONTEXT

读中文,也能随时回到原文。

这是一份面向开发者的编译学习指南,按实现路径组织规范内容,加入示例与解释。规范要求、教学简化与现代 Passkey 补充会明确区分。

查看 W3C 英文原文

搜索指南

输入关键词,查找你想了解的内容。

搜索覆盖全部 12 章 · 点击结果定位到相关段落
学习目录