nestjs_auth init..

This commit is contained in:
최준흠 2022-09-09 15:45:25 +09:00
parent 0d260d6849
commit 3c28dcb4b6
4 changed files with 36 additions and 23 deletions

View File

@ -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<User> {
return await this.authService.register(data)
add(@Body() data: UserDTO): Promise<User> {
return this.authService.register(data)
}
}

View File

@ -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<User> {
return this.userService.add(data)
return await this.userService.add(data)
}
}

View File

@ -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<boolean> | Observable<boolean> {
// Add your custom authentication logic here
// for example, call super.logIn(request) to establish a session.
return super.canActivate(context)

View File

@ -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<boolean> | Observable<boolean> {
// 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
}
}