返回资源列表

freeCodeCamp · Roland Mweze

How to Build Passkey Authentication with WebAuthn, Next.js and NestJS

How to Build Passkey Authentication with WebAuthn, Next.js and NestJS是freeCodeCamp的免费文章(en)。前置条件:需要熟悉 TypeScript 和 React;了解 controller 与 service 概念有助于理解 NestJS 部分。

能理解 passkey/WebAuthn 的原理与密码认证的痛点,并用 Next.js + NestJS + PostgreSQL 实现基于公钥的 passkey 注册与登录,同时避开常见安全实现错误。

打开官方课程
难度
见前置条件
类型
教程 · 文章
语言
en
规模
1 个课节
内容费用
免费
动手
需要动手环境

使用限制

在线即可阅读教程全文;动手实践需本地环境与支持 passkey 的设备。

补充内容
GitHub 账号访问作者示例代码仓库(可选)

学完你能

  • 解释密码认证在钓鱼、密码复用、数据泄露、隐私与凭据疲劳上的问题,以及 passkey 如何缓解
  • 说明 passkey 基于公私钥对与 WebAuthn 标准的工作流程
  • 搭建 NestJS 后端并连接 PostgreSQL 存储用户与 passkey
  • 在服务端生成注册与认证选项并校验客户端响应
  • 用 JWT 保护需要登录的路由
  • 在 Next.js 前端实现注册页与登录页并给出友好错误提示
  • 识别编码 credential ID 两次、未校验 owner 等 passkey 实现安全误区

适合你吗

适合

适合已有 TypeScript/React 基础、想为 Web 应用加上无密码登录的开发者,教程按步骤覆盖前后端实现。

暂不适合

不适合完全没有 Web 开发基础、想学 Python 数据科学或机器学习方向的初学者。

需要先会

需要熟悉 TypeScript 和 React;了解 controller 与 service 概念有助于理解 NestJS 部分。

课程特点

内容侧重
侧重实践应用
练习与项目
按教程在本地搭建 NestJS + Next.js 项目,用 PostgreSQL 保存用户与 passkey,并用真实设备完成注册与登录测试。
学习时长
1 个课节原站未给出统一学习时长;实际用时取决于已有基础。
内容费用
免费节选正文即为完整教程内容,可直接阅读全部步骤,未见付费墙或登录拦截。

内容覆盖

  • The Problems with Password-Based Authentication
  • How Passkeys Solve These Problems
  • Prerequisites
  • What Are Passkeys?
  • How Passkey Authentication Works
  • Project Structure
  • How to Set Up the NestJS Backend
  • Create the Database
  • Add Environment Variables
  • Connect to PostgreSQL
  • How to Define the Database Entities
  • How to Register a Passkey on the Server
  • Generate Registration Options
  • Verify the Registration Response
  • How to Sign In with a Passkey on the Server
  • Generate Authentication Options
  • Verify the Authentication Response
  • How to Expose the Auth Endpoints
  • How to Protect Routes with a JWT
  • How to Register the Auth Module

常见问题

免费吗?

免费:节选正文即为完整教程内容,可直接阅读全部步骤,未见付费墙或登录拦截。实践费用待核验:练习需在本地安装 Node.js 与 PostgreSQL,网页未说明是否产生云服务或 API 费用。

需要什么基础?

需要熟悉 TypeScript 和 React;了解 controller 与 service 概念有助于理解 NestJS 部分。软件、账号与硬件:Node.js 22 及以上、PostgreSQL(可用 Postgres.app 或 pgAdmin),以及支持 passkey 的设备(Touch ID、Windows Hello、Android/iPhone 等)。

有中文吗?

本站记录的语言是en;是否有中文字幕或译本本站未核实,请以原站为准。

怎么开始?

从原始资源入口开始:https://www.freecodecamp.org/news/how-to-build-passkey-authentication-with-webauthn-next-js-and-nestjs/。本页“学前准备”列出环境与工具,“学习指南”给出开课提示词,可以在自己的电脑上按步骤开始。开课提示词尚未完整验证。补充内容需要自备:GitHub 账号访问作者示例代码仓库(可选)。

来源与使用须知

原始资源
freeCodeCamp
收录时间
本站首次收录 2026-10-28原站首次发布 2026-10-28
指南参考

版权与转载

  • 课程材料未标明许可:仅供个人学习,转载、修改或商用前请先联系原作者。
  • 本站只提供原始链接和学习指南,不转载、不镜像课程材料;引用时请注明原作者与出处。