카카오톡 로그인 오류
- 카카오톡 로그인시 로그인이 제대로 되지 않는 오류발생
- 카톡으로 로그인후 마이페이지 이동시 마이페이지도 이동이 되지 않는 오류
문제점
일반 로그인시 토큰 발급로직
await this.userService.saveToken(loginUser, refreshToken);
res.cookie("accesstoken", `Bearer ${accessToken}`, { httpOnly: true, secure: false });
res.cookie("refreshtoken", `${refreshToken}`, { httpOnly: true, secure: false });
카톡 로그인시 토큰 발급로직 변경전
- 카톡 로그인시 리프레쉬 토큰을 발급하고 쿠키에 토큰을 저장했을때 리프레쉬 토큰에 Bearer 타입과 토큰이 저장됨
- 일반로그인 로직에는 리프레쉬 토큰을 쿠키에 저장할때 Bearer 타입을 받지 않는 로직으로 설정함
- 클라이언트에서는 일반로그인 했을때를 기준으로 토큰을 받는 코드를 작성하였는데 서버에서는 카카오톡 로그인시에는 Bearer 타입을 붙여서 쿠키에 저장하는 코드를 작성하였기 때문에 토큰을 쿠키에 저장하는 코드가 달랐음
res.cookie("accesstoken", `Bearer ${accessToken}`);
res.cookie("refreshtoken", `Bearer ${refreshToken}`);
return res.status(200).json({ accessToken, refreshToken });
카톡 로그인시 토큰 발급로직 변경후
- 카톡로그인시에도 일반로그인과 동일하게 리프레쉬 토큰에 Bearer 타입을 제거하고 응답객체에 저장하도록 수정
res.cookie("accesstoken", `Bearer ${accessToken}`);
res.cookie("refreshtoken", `${refreshToken}`);
return res.status(200).json({ accessToken, refreshToken });
중요한점
- 액세스 토큰이나 리프레쉬 토큰을 쿠키에 저장하고 응답값을 토큰을 보낼때 정확히 어떤 형식으로 쿠키에 저장되는지 알고 있어야함 그래야 클라이언트에서 어떤 형식으로 토큰이 발급되었는지 파악하고 토큰을 발급받는 코드를 작성할 수 있음