Skip to content

第 5 周:认证授权 + 安全基础 ​

所属阶段:后端工程化 + 数据 + 部署(第 5–8 周)

本周目标 ​

掌握 JWT 签发 / 鉴权 / 刷新、RBAC 角色权限与 OAuth2 第三方登录流程,并为 NestJS 应用完成 SQL 注入、XSS、CSRF 等安全加固。

本周日程 ​

天学习内容动手任务当日产出
Day 1JWT 原理:Header/Payload/Signature、签名验证用 @nestjs/jwt 实现 /auth/login 返回 access tokenJWT 签发
Day 2JWT 鉴权:Guard + 自定义装饰器写 JwtAuthGuard 和 @CurrentUser() 装饰器,保护 /users/me受保护路由可用
Day 3Refresh Token + Token 轮换实现 /auth/refresh,用 PostgreSQL 表存 refresh token 黑名单(第 6 周学完 Redis 后迁移)Token 刷新链路
Day 4RBAC:角色、权限、@Roles() 装饰器定义 admin/user 角色,实现 RolesGuard角色权限控制
Day 5OAuth2 概念 + 第三方登录流程画出 Google OAuth 登录时序图,理解 code exchange 流程OAuth 时序图
Day 6Web 安全:SQL 注入、XSS、CSRF用 Prisma 参数化查询验证防注入;配置 Helmet + CORS安全加固配置
Day 7周复盘 + 整理用 Postman 跑一遍完整认证流程,写周记认证流程记录 + 周记

教程进度 ​

本周参考 ​

60-days-nodejs 覆盖 JWT、OAuth 2.0、RBAC 和 Web 安全防护。