nestjs_auth init..
This commit is contained in:
parent
0d260d6849
commit
3c28dcb4b6
@ -10,22 +10,12 @@ import { LocalAuthGuard } from './guards/local.auth.guard'
|
|||||||
export class AuthController {
|
export class AuthController {
|
||||||
constructor(private authService: AuthService) {}
|
constructor(private authService: AuthService) {}
|
||||||
|
|
||||||
//local.strategy.ts 사용
|
|
||||||
// @UseGuards(AuthGuard('local'))
|
|
||||||
// @UseGuards(LocalAuthGuard)
|
|
||||||
// @Post('/local/login')
|
|
||||||
// async login(@Request() req) {
|
|
||||||
// return req.user
|
|
||||||
// }
|
|
||||||
|
|
||||||
//Login용
|
//Login용
|
||||||
@UseGuards(LocalAuthGuard)
|
@UseGuards(LocalAuthGuard)
|
||||||
@Post('login')
|
@Post('login')
|
||||||
async login(@Request() req) {
|
login(@Request() req) {
|
||||||
//console.log(req.user)
|
console.log(req)
|
||||||
const response = this.authService.login(req.user)
|
return this.authService.login(req.user)
|
||||||
console.log(response)
|
|
||||||
return response
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Profile 여부 확인용
|
//Profile 여부 확인용
|
||||||
@ -38,7 +28,7 @@ export class AuthController {
|
|||||||
|
|
||||||
//사용자 등록
|
//사용자 등록
|
||||||
@Post('register')
|
@Post('register')
|
||||||
async add(@Body() data: UserDTO): Promise<User> {
|
add(@Body() data: UserDTO): Promise<User> {
|
||||||
return await this.authService.register(data)
|
return this.authService.register(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,15 +29,13 @@ export class AuthService {
|
|||||||
//console.log(user)
|
//console.log(user)
|
||||||
const payload = {
|
const payload = {
|
||||||
email: user.email,
|
email: user.email,
|
||||||
name: user.name,
|
name: user.name
|
||||||
role: user.role,
|
|
||||||
access_token: this.jwtService.sign(payload)
|
|
||||||
}
|
}
|
||||||
// console.log(payload)
|
// console.log(payload)
|
||||||
return { }
|
return await { access_token: this.jwtService.sign(payload) }
|
||||||
}
|
}
|
||||||
|
|
||||||
async register(data: UserDTO): Promise<User> {
|
async register(data: UserDTO): Promise<User> {
|
||||||
return this.userService.add(data)
|
return await this.userService.add(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,10 +4,13 @@ import {
|
|||||||
UnauthorizedException
|
UnauthorizedException
|
||||||
} from '@nestjs/common'
|
} from '@nestjs/common'
|
||||||
import { AuthGuard } from '@nestjs/passport'
|
import { AuthGuard } from '@nestjs/passport'
|
||||||
|
import { Observable } from 'rxjs'
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class JwtAuthGuard extends AuthGuard('jwt') {
|
export class JwtAuthGuard extends AuthGuard('jwt') {
|
||||||
canActivate(context: ExecutionContext) {
|
canActivate(
|
||||||
|
context: ExecutionContext
|
||||||
|
): boolean | Promise<boolean> | Observable<boolean> {
|
||||||
// Add your custom authentication logic here
|
// Add your custom authentication logic here
|
||||||
// for example, call super.logIn(request) to establish a session.
|
// for example, call super.logIn(request) to establish a session.
|
||||||
return super.canActivate(context)
|
return super.canActivate(context)
|
||||||
|
|||||||
@ -1,5 +1,27 @@
|
|||||||
import { Injectable } from '@nestjs/common'
|
import {
|
||||||
|
ExecutionContext,
|
||||||
|
Injectable,
|
||||||
|
UnauthorizedException
|
||||||
|
} from '@nestjs/common'
|
||||||
import { AuthGuard } from '@nestjs/passport'
|
import { AuthGuard } from '@nestjs/passport'
|
||||||
|
import { Observable } from 'rxjs'
|
||||||
|
|
||||||
@Injectable()
|
@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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user