nestjs_auth...
This commit is contained in:
parent
bdc819807d
commit
bd66031312
@ -45,12 +45,23 @@ export class AuthService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async register(data: UserDTO): Promise<User> {
|
async register(data: UserDTO): Promise<User> {
|
||||||
data.refresh_token = (await this.getTokens(data)).refresh_token
|
const tokens = await this.getTokens(data)
|
||||||
|
data.refresh_token = tokens.refresh_token
|
||||||
data.password = await this.getEcryptedPassword(data.password)
|
data.password = await this.getEcryptedPassword(data.password)
|
||||||
return await this.userService.add(data)
|
await this.userService.add(data)
|
||||||
|
return tokens
|
||||||
}
|
}
|
||||||
|
|
||||||
async refreshTokens(user: User): Promise<any> {
|
//Access Token 재발행
|
||||||
|
async reload(refresh_token): Promise<any> {
|
||||||
|
const user = await this.userService.fetchOne({
|
||||||
|
refresh_token: refresh_token
|
||||||
|
})
|
||||||
|
return await this.getAccessToken(user)
|
||||||
|
}
|
||||||
|
|
||||||
|
//Access Token 및 refresh Token 재발행
|
||||||
|
async recreate(user: User): Promise<any> {
|
||||||
const tokens = await this.getTokens(user)
|
const tokens = await this.getTokens(user)
|
||||||
await this.userService.update({
|
await this.userService.update({
|
||||||
where: { id: user.id },
|
where: { id: user.id },
|
||||||
@ -59,36 +70,39 @@ export class AuthService {
|
|||||||
return tokens
|
return tokens
|
||||||
}
|
}
|
||||||
|
|
||||||
async getTokens(data: UserDTO): Promise<any> {
|
async getAccessToken(data: UserDTO): Promise<any> {
|
||||||
return await Promise.all([
|
const token = await this.jwtService.sign(
|
||||||
this.jwtService.sign(
|
{
|
||||||
{
|
email: data.email,
|
||||||
email: data.email,
|
name: data.name
|
||||||
name: data.name
|
},
|
||||||
},
|
{
|
||||||
{
|
secret: jwtConstants.access_secret,
|
||||||
secret: jwtConstants.access_secret,
|
expiresIn: jwtConstants.access_expiresIn
|
||||||
expiresIn: jwtConstants.access_expiresIn
|
|
||||||
}
|
|
||||||
),
|
|
||||||
this.jwtService.sign(
|
|
||||||
{},
|
|
||||||
{
|
|
||||||
secret: jwtConstants.refresh_secret,
|
|
||||||
expiresIn: jwtConstants.refresh_expiresIn
|
|
||||||
}
|
|
||||||
)
|
|
||||||
]).then((response) => {
|
|
||||||
return {
|
|
||||||
access_token: {
|
|
||||||
token: response[0],
|
|
||||||
expiresIn: jwtConstants.access_expiresIn
|
|
||||||
},
|
|
||||||
refresh_token: {
|
|
||||||
token: response[1],
|
|
||||||
expiresIn: jwtConstants.refresh_expiresIn
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
)
|
||||||
|
return {
|
||||||
|
token: token,
|
||||||
|
expiresIn: jwtConstants.access_expiresIn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async getRefreshToken(): Promise<any> {
|
||||||
|
const token = await this.jwtService.sign(
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
secret: jwtConstants.access_secret,
|
||||||
|
expiresIn: jwtConstants.refresh_expiresIn
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return {
|
||||||
|
token: token,
|
||||||
|
expiresIn: jwtConstants.refresh_expiresIn
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async getTokens(data: UserDTO): Promise<any> {
|
||||||
|
return {
|
||||||
|
access_token: await this.getAccessToken(data),
|
||||||
|
refresh_token: await this.getRefreshToken()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user