- nestjs-login 授权登录(账号密码 -> token -> 用户信息)
- api/v1 接口是入门学习
- api/v2 接口是进阶学习,可直接看V2接口
- 通过
api/v2/login.controller.ts绑定AuthGuard('auth-local')守卫 - 守卫调用
auth/local.strategy.ts策略校验 - 策略使用
auth/auth.service.ts的validateUser方法校验账号密码 - 校验通过
auth/auth.service.ts的sign方法生成access_token - 返回
userInfo和access_token给到前端
- 前端请求时,
Header携带Authorization: Bearer [access_token]到后端 - 后端通过
auth/global-auth.guard.ts全局守卫鉴权 - 全局守卫继承
AuthGuard('auth-jwt')守卫 - 守卫调用
auth/jwt.strategy.ts策略校验 - 策略从
access_token解密出userInfo,再从数据库查询完整用户信息 - 返回完整
userInfo给到前端