지금까지 구현하면서 access, refresh token은 body로 반환하고 있었다.

이제 대부분 큰 틀이 잡혔기 때문에 Access Token / Refresh Token 설계 방향에서 설명한 대로 수정해보겠다.

목표

Access Token ⇒ local variable(메모리)에 저장

Refresh Token ⇒ httpOnly 쿠키에 저장

Documentation | NestJS - A progressive Node.js framework


$ npm i cookie-parser
$ npm i -D @types/cookie-parser

두 라이브러리를 설치한다.

cookie parser를 app.use를 통해 미들웨어로 등록해준다.

cookie parser를 사용하게되면 요청/응답의 쿠키에 접근이 가능해진다.

Untitled

response.cookie(name: string, value: any, options?: CookieOptions)

아래 코드는 oauth를 사용한 로그인 중 카카오 로그인 service과 controller이다.

signInWithKakao 메서드를 통해 비회원은 카카오에서 받은 이메일을, 가입된 유저면 token을 반환한다.

아직 구현이 되기 전이었기 때문에 user에 전부 담았지만 이제는 정확히 구분하여 나누어 주도록 하겠다.