diff --git a/src/auth/auth.controller.ts b/src/auth/auth.controller.ts index 3d0c4ab..543d6bf 100644 --- a/src/auth/auth.controller.ts +++ b/src/auth/auth.controller.ts @@ -10,22 +10,12 @@ import { LocalAuthGuard } from './guards/local.auth.guard' export class AuthController { constructor(private authService: AuthService) {} - //local.strategy.ts 사용 - // @UseGuards(AuthGuard('local')) - // @UseGuards(LocalAuthGuard) - // @Post('/local/login') - // async login(@Request() req) { - // return req.user - // } - //Login용 @UseGuards(LocalAuthGuard) @Post('login') - async login(@Request() req) { - //console.log(req.user) - const response = this.authService.login(req.user) - console.log(response) - return response + login(@Request() req) { + console.log(req) + return this.authService.login(req.user) } //Profile 여부 확인용 @@ -38,7 +28,7 @@ export class AuthController { //사용자 등록 @Post('register') - async add(@Body() data: UserDTO): Promise { - return await this.authService.register(data) + add(@Body() data: UserDTO): Promise { + return this.authService.register(data) } } diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts index b7bd417..4e391ec 100644 --- a/src/auth/auth.service.ts +++ b/src/auth/auth.service.ts @@ -29,15 +29,13 @@ export class AuthService { //console.log(user) const payload = { email: user.email, - name: user.name, - role: user.role, - access_token: this.jwtService.sign(payload) + name: user.name } // console.log(payload) - return { } + return await { access_token: this.jwtService.sign(payload) } } async register(data: UserDTO): Promise { - return this.userService.add(data) + return await this.userService.add(data) } } diff --git a/src/auth/guards/jwt.auth.guard.ts b/src/auth/guards/jwt.auth.guard.ts index cd60af7..a79303d 100644 --- a/src/auth/guards/jwt.auth.guard.ts +++ b/src/auth/guards/jwt.auth.guard.ts @@ -4,10 +4,13 @@ import { UnauthorizedException } from '@nestjs/common' import { AuthGuard } from '@nestjs/passport' +import { Observable } from 'rxjs' @Injectable() export class JwtAuthGuard extends AuthGuard('jwt') { - canActivate(context: ExecutionContext) { + canActivate( + context: ExecutionContext + ): boolean | Promise | Observable { // Add your custom authentication logic here // for example, call super.logIn(request) to establish a session. return super.canActivate(context) diff --git a/src/auth/guards/local.auth.guard.ts b/src/auth/guards/local.auth.guard.ts index 78b685a..1fd990c 100644 --- a/src/auth/guards/local.auth.guard.ts +++ b/src/auth/guards/local.auth.guard.ts @@ -1,5 +1,27 @@ -import { Injectable } from '@nestjs/common' +import { + ExecutionContext, + Injectable, + UnauthorizedException +} from '@nestjs/common' import { AuthGuard } from '@nestjs/passport' +import { Observable } from 'rxjs' @Injectable() -export class LocalAuthGuard extends AuthGuard('local') {} +export class LocalAuthGuard extends AuthGuard('local') { + canActivate( + context: ExecutionContext + ): boolean | Promise | Observable { + // Add your custom authentication logic here + // for example, call super.logIn(request) to establish a session. + return super.canActivate(context) + } + + handleRequest(err, user, info) { + // You can throw an exception based on either "info" or "err" arguments + if (err || !user) { + throw err || new UnauthorizedException() + } + console.log(info) + return user + } +}