NestJS JWT 认证项目教程
项目介绍
NestJS JWT 认证项目是一个基于 NestJS 框架的 JSON Web Token (JWT) 认证系统。该项目利用 Passport 中间件模块实现安全的用户认证和授权。通过使用 JWT,项目确保了信息传输的安全性和可靠性。
项目快速启动
安装依赖
首先,克隆项目仓库并安装必要的依赖:
git clone https://github.com/abouroubi/nestjs-auth-jwt.git
cd nestjs-auth-jwt
npm install
配置环境变量
在项目根目录下创建一个 .env
文件,并添加以下内容:
JWT_SECRET=your_jwt_secret
启动应用
运行以下命令启动应用:
npm run start
应用默认运行在 http://localhost:3000
。
应用案例和最佳实践
用户登录
用户可以通过发送 POST 请求到 /auth/login
端点进行登录,请求体中包含用户名和密码:
{
"username": "user",
"password": "password"
}
成功登录后,服务器会返回一个 JWT 令牌。
访问受保护的端点
使用获取到的 JWT 令牌,可以在请求头中添加 Authorization
字段来访问受保护的端点:
Authorization: Bearer <your_jwt_token>
例如,访问 /profile
端点:
curl -X GET http://localhost:3000/profile -H "Authorization: Bearer <your_jwt_token>"
典型生态项目
集成数据库
为了实现更完整的用户认证系统,可以集成如 TypeORM
或 Mongoose
等数据库 ORM,以存储用户信息。
前端应用
可以开发一个前端应用,如使用 React 或 Angular,来与后端 API 进行交互,实现完整的用户登录和注册流程。
日志和监控
集成如 winston
和 prometheus
等工具,以实现日志记录和性能监控,确保系统的稳定运行。
通过以上步骤,您可以快速启动并运行 NestJS JWT 认证项目,并根据实际需求进行扩展和优化。