inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

11-05 토큰 재발급 API

restoreAccessToken 이라는 함수를 새로만드는 이유가 있을까요??

191

춘몽

작성한 질문수 15

0

 안녕하세요.

 

강의 내용중에 restoreAccessToken이라는 함수를 만드는데 내용이 getAccessToken을 리턴해주는 함수입니다.

restoreAccessToken({ user }: IAuthServiceRestoreAccessToken): string {
    return this.getAccessToken({ user });
  }

getAccessToken({ user }: IAuthServiceGetAcessToken): string {
    return this.jwtService.sign(
      { sub: user.id },
      { secret: '나의비밀번호', expiresIn: '10s' },
    );
  }

인터페이스도 두번 작성하게 되는데

export interface IAuthServiceRestoreAccessToken {
  user: IAuthUser['user'];
}

export interface IAuthServiceGetAcessToken {
  user: User | IAuthUser['user'];
}

 

이런경우에는 그냥 restoreAccessToken이라는 함수를 새로 안만들고, getAccessToken을 바로 사용하는게 코드의 중복을 제거하는 측면에서 더 좋다고 생각하는데,

restoreAccessToken이라는 함수를 새로 만드는 이유가 있을까요??

nestjs

답변 1

0

노원두

안녕하세요! 춘몽님!

만약, restoreAccessToken 에서만 accessToken을 만드신다면, 굳이 getAccessToken이라는 함수를 만들 필요는 없답니다!

하지만, login시에 accessToken을 만들고, restore시에도 accessToken을 만든다면, 로직이 중복되니 getAccessToken이라는 함수로 분리하여 재사용 하는게 좋을 것 같아요!^^

0

춘몽

답변 감사합니다.

그런데 답변이 이해가 잘 안됩니다..

restoreAccessToken() 이 getAccessToken() 을 return만 하는 함수인데 굳이 필요한지가 궁금합니다.

getAccessToken()을 return만 한다면 그냥 restoreAccessToken()을 안쓰고 바로 getAccessToken() 을 사용해버리면 되는게 아닌가 해서 말입니다.

 

스웨거 접속이 안되는데 확인 부탁드립니다.

0

65

1

소스코드즘 부탁드립니다.

0

79

1

윈도우에서 Node js를 설치하고 싶어요

0

62

0

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

150

2

강의 전체 소스 코드를 받고싶습니다.

0

150

2

fontawesome 사용 문의

0

142

2

소스 코드 부탁드립니다~

0

150

2

깃 레포지터리 소스

0

142

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

121

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

146

3

강의 버전관련 문의입니다

0

158

2

Ubuntu 설치 관련

0

103

1

schema.gql 질문 드립니다.

0

99

1

서버 재실행시 Many to Many

0

173

3

input 관련 문의

0

136

2

Rest API 보다는 graphql이 주된 내용인데

0

189

2

강의 전체 소스코드 받을수있을까요?

0

204

1

도커볼륨 마운트 관련

0

187

2

findOne 타입스크립트오류

0

151

1

http => htrtps 호출 인증서 신뢰 오류

0

435

1

self-signed certificate in certificate chain 에러 발생

0

507

1

mongoose 설치 오류

0

188

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

352

2

08-06

0

228

3