NestJS JWT 认证项目教程
1. 项目的目录结构及介绍
nestjs-auth-jwt/
├── src/
│ ├── auth/
│ │ ├── auth.module.ts
│ │ ├── auth.service.ts
│ │ ├── jwt.strategy.ts
│ │ ├── constants.ts
│ │ └── guards/
│ │ └── roles.guard.ts
│ ├── users/
│ │ ├── users.module.ts
│ │ ├── users.service.ts
│ │ └── users.controller.ts
│ ├── app.module.ts
│ ├── main.ts
│ └── config/
│ └── config.ts
├── package.json
├── tsconfig.json
└── README.md
目录结构介绍
src/
:项目源代码目录。auth/
:认证模块,包含认证服务、JWT策略、常量和角色守卫。auth.module.ts
:认证模块定义。auth.service.ts
:认证服务,处理登录和生成JWT令牌。jwt.strategy.ts
:JWT策略,用于验证JWT令牌。constants.ts
:常量定义,如JWT密钥。guards/
:守卫目录,包含角色守卫。roles.guard.ts
:角色守卫,用于权限控制。
users/
:用户模块,包含用户服务和控制器。users.module.ts
:用户模块定义。users.service.ts
:用户服务,处理用户数据。users.controller.ts
:用户控制器,处理用户请求。
app.module.ts
:应用模块,包含所有子模块。main.ts
:应用启动文件。config/
:配置目录,包含配置文件。config.ts
:配置文件,包含应用配置。
package.json
:项目依赖和脚本定义。tsconfig.json
:TypeScript配置文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
启动文件介绍
main.ts
是应用的入口文件,负责启动应用。- 使用
NestFactory.create
方法创建应用实例。 - 调用
app.listen
方法启动应用,监听端口 3000。
3. 项目的配置文件介绍
config.ts
export default {
jwtSecret: 'your_jwt_secret_key',
database: {
host: 'localhost',
port: 5432,
username: 'your_db_username',
password: 'your_db_password',
database: 'your_db_name',
},
};
配置文件介绍
config.ts
包含应用的配置信息。jwtSecret
:JWT密钥,用于签名和验证JWT令牌。database
:数据库配置,包含主机、端口、用户名、密码和数据库名称。
以上是基于开源项目 nestjs-auth-jwt
的教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对你有所帮助!