从规范到实践 · 中文开发手册
理解 Passkey,
构建无密码
登录。
从一对公私钥开始,理解 WebAuthn 的工作原理,
再亲手完成一次安全的注册与登录。
用证明代替共享秘密。WEBAUTHN
A CLEAR PATH TO BUILD
先建立直觉,再把流程跑通。
不必从头啃规范。
沿着这条路线,一步一步理解。
THE COMPLETE GUIDE
把每一个「为什么」讲清楚。
从英文规范开始,学会 Passkey 开发
Passkey(通行密钥)让用户通过设备上的解锁方式登录网站。对开发者来说,核心变化是:服务器保存公钥,登录时验证一次性挑战的签名,而不是接收用户输入的…
术语与安全边界
学习 WebAuthn,先把“网站、浏览器、认证器、账户、凭据”区分开。它们承担不同职责;错误地把某一方返回的数据直接当成可信事实,往往比加密算法选错更…
注册与认证:把信任链串起来
WebAuthn 的浏览器调用各只有一个主要入口,但一次安全登录需要服务器、客户端、认证器和用户共同完成。理解每一步携带什么、验证什么,才能判断代码是否…
注册详解:安全地绑定一把新公钥
注册的目标是:让认证器创建一个面向本网站的凭据,然后由服务器验证并绑定到正确账户。navigator.credentials.create() 只完成浏…
认证详解:从签名到可信登录会话
认证使用 navigator.credentials.get() 请求已有凭据产生断言。真正决定登录成功的是服务器:它必须找到已登记公钥,验证本次响应和…
服务端验证:安全判断发生在哪里
浏览器弹出系统窗口、用户完成指纹验证,都不代表你的网站已经确认登录。最终决定来自服务器:使用已保存的公钥,验证本次响应,并确认它属于正确的操作与账号。
完整示例:本地注册与无用户名登录
下载并运行一套完整的 Node.js 示例,从发出 challenge、调用浏览器 API,到服务器验签和建立会话。它创建独立的匿名学习账号,无需邮箱或…
现代 Passkey 补充:同步、条件式 UI 与能力检测
本章明确区分历史规范与后续实践:前面的核心协议以 WebAuthn Level 2 为主;这里补充 Passkey 生态和 Level 3 内容。截至本…
从学习示例到生产系统
Passkey 解决凭据证明问题;账号归属、会话、恢复和凭据管理,仍然是应用自己的责任。本章把规范中的安全与隐私要求整理成开发检查项。
调试、错误与测试
先确定失败发生在哪一层:选项生成、浏览器调用、JSON 编解码,还是服务端验证。把所有问题归结为“指纹失败”,会掩盖最常见的配置和协议错误。
英文规范导读与章节对照
掌握注册与登录后,回到英文规范核对边界。这份导读保留原有章节与链接,帮助你按问题定位,而不把浏览器和认证器实现算法误当作必须自己手写的业务代码。
来源、版本与译注
本项目是一份面向 Web 开发者的中文学习文档:整理翻译 WebAuthn Level 2 的核心内容,并配上独立讲解与示例代码。它不是 W3C 授权译…
READ WITH CONTEXT
读中文,也能随时回到原文。
这是一份面向开发者的编译学习指南,按实现路径组织规范内容,加入示例与解释。规范要求、教学简化与现代 Passkey 补充会明确区分。