nestjs_auth...
This commit is contained in:
parent
bdc819807d
commit
bd66031312
@ -45,12 +45,23 @@ export class AuthService {
|
||||
}
|
||||
|
||||
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)
|
||||
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)
|
||||
await this.userService.update({
|
||||
where: { id: user.id },
|
||||
@ -59,36 +70,39 @@ export class AuthService {
|
||||
return tokens
|
||||
}
|
||||
|
||||
async getTokens(data: UserDTO): Promise<any> {
|
||||
return await Promise.all([
|
||||
this.jwtService.sign(
|
||||
{
|
||||
email: data.email,
|
||||
name: data.name
|
||||
},
|
||||
{
|
||||
secret: jwtConstants.access_secret,
|
||||
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
|
||||
}
|
||||
async getAccessToken(data: UserDTO): Promise<any> {
|
||||
const token = await this.jwtService.sign(
|
||||
{
|
||||
email: data.email,
|
||||
name: data.name
|
||||
},
|
||||
{
|
||||
secret: jwtConstants.access_secret,
|
||||
expiresIn: jwtConstants.access_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