Files
seshat/backend/nestjs-seshat-api/src/auth/auth.module.ts

43 lines
1.3 KiB
TypeScript

import { Module } from '@nestjs/common';
import { AuthService } from './auth.service';
import { UsersModule } from 'src/users/users.module';
import { PassportModule } from '@nestjs/passport';
import { AuthController } from './auth.controller';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { JwtModule } from '@nestjs/jwt';
import { JwtOptions } from './jwt.options';
import { JwtAccessStrategy } from './strategies/jwt-access.strategy';
import { AuthRefreshService } from './auth.refresh.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthRefreshTokenEntity } from './entities/auth.refresh-token.entity';
import { AuthAccessService } from './auth.access.service';
import { JwtRefreshStrategy } from './strategies/jwt-refresh.strategy';
@Module({
imports: [
TypeOrmModule.forFeature([AuthRefreshTokenEntity]),
ConfigModule,
UsersModule,
PassportModule.register({ session: false }),
JwtModule.registerAsync({
imports: [ConfigModule],
extraProviders: [ConfigService],
useClass: JwtOptions,
}),
],
exports: [
AuthAccessService,
AuthRefreshService,
AuthService,
],
providers: [
AuthAccessService,
AuthRefreshService,
AuthService,
JwtAccessStrategy,
JwtRefreshStrategy,
],
controllers: [AuthController]
})
export class AuthModule { }