Nest Keycloak Connect 项目教程

Nest Keycloak Connect 项目教程

nest-keycloak-connect keycloak-nodejs-connect module for Nest nest-keycloak-connect 项目地址: https://gitcode.com/gh_mirrors/ne/nest-keycloak-connect

1. 项目目录结构及介绍

nest-keycloak-connect/
├── src/
│   ├── controllers/
│   ├── services/
│   ├── guards/
│   ├── decorators/
│   ├── interceptors/
│   ├── pipes/
│   ├── filters/
│   ├── main.ts
│   └── app.module.ts
├── .gitignore
├── .prettierrc
├── .nvmrc
├── .eslintrc.mjs
├── package.json
├── pnpm-lock.yaml
├── tsconfig.json
├── README.md
├── LICENSE
└── CONTRIBUTING.md

目录结构说明

  • src/: 项目的主要源代码目录。
    • controllers/: 存放控制器文件,处理HTTP请求和响应。
    • services/: 存放服务文件,处理业务逻辑。
    • guards/: 存放守卫文件,用于权限控制。
    • decorators/: 存放自定义装饰器文件。
    • interceptors/: 存放拦截器文件,用于请求和响应的预处理和后处理。
    • pipes/: 存放管道文件,用于数据转换和验证。
    • filters/: 存放异常过滤器文件,用于全局异常处理。
    • main.ts: 项目的启动文件。
    • app.module.ts: 项目的根模块文件。
  • .gitignore: Git忽略文件配置。
  • .prettierrc: Prettier代码格式化配置文件。
  • .nvmrc: Node版本管理配置文件。
  • .eslintrc.mjs: ESLint代码检查配置文件。
  • package.json: 项目依赖和脚本配置文件。
  • pnpm-lock.yaml: pnpm包管理器锁文件。
  • tsconfig.json: TypeScript配置文件。
  • README.md: 项目说明文档。
  • LICENSE: 项目许可证文件。
  • CONTRIBUTING.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();

启动文件说明

  • NestFactory.create(AppModule): 创建Nest应用实例,传入根模块AppModule
  • app.listen(3000): 启动应用,监听3000端口。

3. 项目配置文件介绍

app.module.ts

import { Module } from '@nestjs/common';
import { APP_GUARD } from '@nestjs/core';
import { KeycloakConnectModule, ResourceGuard, RoleGuard, AuthGuard } from 'nest-keycloak-connect';

@Module({
  imports: [
    KeycloakConnectModule.register({
      authServerUrl: 'http://localhost:8080/auth',
      realm: 'master',
      clientId: 'my-nestjs-app',
      secret: 'secret',
    }),
  ],
  providers: [
    {
      provide: APP_GUARD,
      useClass: AuthGuard,
    },
    {
      provide: APP_GUARD,
      useClass: ResourceGuard,
    },
    {
      provide: APP_GUARD,
      useClass: RoleGuard,
    },
  ],
})
export class AppModule {}

配置文件说明

  • KeycloakConnectModule.register(): 注册Keycloak连接模块,配置Keycloak服务器的URL、领域、客户端ID和密钥。
  • providers: 提供全局守卫,包括AuthGuardResourceGuardRoleGuard,用于权限控制。

通过以上配置,项目可以与Keycloak进行集成,实现用户认证和授权功能。

nest-keycloak-connect keycloak-nodejs-connect module for Nest nest-keycloak-connect 项目地址: https://gitcode.com/gh_mirrors/ne/nest-keycloak-connect

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史锋燃Gardner

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值