nestjs_auth...

This commit is contained in:
최준흠 2022-09-16 15:54:28 +09:00
parent 9427680b5b
commit 5ac722252b

View File

@ -31,13 +31,14 @@ export class AuthService {
async login(user: User): Promise<any> { async login(user: User): Promise<any> {
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
const { password, ...result } = user const { password, ...result } = user
return (result['access_token'] = await this.getAccessToken(user)) result['access_token'] = await this.getAccessToken(user)
return result
} }
async register(data: UserDTO): Promise<any> { async register(user: UserDTO): Promise<any> {
data.refresh_token = await this.getRefreshToken(data) user.refresh_token = await this.getRefreshToken(user)
data.password = await this.getEcryptedPassword(data.password) user.password = await this.getEcryptedPassword(user.password)
return await this.userService.add(data) return await this.userService.add(user)
} }
//Access Token 재발행 //Access Token 재발행
@ -50,16 +51,16 @@ export class AuthService {
//Access Token 및 refresh Token 재발행 //Access Token 및 refresh Token 재발행
async recreate(user: User): Promise<any> { async recreate(user: User): Promise<any> {
const tokens = await this.getTokens(user) const refresh_token = await this.getRefreshToken(user)
await this.userService.update({ const updateedUser = await this.userService.update({
where: { id: user.id }, where: { id: user.id },
data: { refresh_token: tokens.refresh_token } data: { refresh_token: refresh_token }
}) })
return tokens return this.login(updateedUser)
} }
async getAccessToken(data: UserDTO): Promise<any> { async getAccessToken(data: UserDTO): Promise<any> {
const token = await this.jwtService.sign( return await this.jwtService.sign(
{ {
email: data.email, email: data.email,
name: data.name name: data.name
@ -69,13 +70,9 @@ export class AuthService {
expiresIn: jwtConstants.access_expiresIn expiresIn: jwtConstants.access_expiresIn
} }
) )
return {
token: token,
expiresIn: jwtConstants.access_expiresIn
}
} }
async getRefreshToken(data: UserDTO): Promise<any> { async getRefreshToken(data: UserDTO): Promise<any> {
const token = await this.jwtService.sign( return await this.jwtService.sign(
{ {
email: data.email, email: data.email,
name: data.name name: data.name
@ -85,10 +82,6 @@ export class AuthService {
expiresIn: jwtConstants.refresh_expiresIn expiresIn: jwtConstants.refresh_expiresIn
} }
) )
return {
token: token,
expiresIn: jwtConstants.refresh_expiresIn
}
} }
async getTokens(data: UserDTO): Promise<any> { async getTokens(data: UserDTO): Promise<any> {
return { return {