카카오톡 최신버전으로 업데이트 방법
권하는 웹툰.웹소설 카카오페이지의 경우 3시간마다무료, 12시간마다무료, 24시간마다무료, 2일 or 3일마다. 무료 등 무척 다르게 알람이 옵니다. 알람 소리에 기계적으로 손가락이 가다보니, 카카오페이지를 들락거리는 횟수가 점점 늘어나는 것 같습니다. 최소한 집에서는 만지지 말아야지 하면서도, 알람이 오면 반사적으로 손이 가는 제 모습을 보며. 반성을 하면서도 놓칠 수 없는 건 놓칠 수 없는거니 오늘도 카카오페이지에서 만날 수 있는 명작 띵작 놓칠 수 없는 추천작을 차례대로 나열해봅니다.
1. 이번 생은 가주가 되겠습니다.
JWT 전략
JWT 계획을 사용하면 서버가 세션 상황을 유지할 필요가 없기 때문에 확장성 있는 어플리케이션을 만드는 데 좋고, 여러 시스템 간에 토큰을 전달하기 용이하다는 점을 강조할 수 있어요. 하지만, 앞서 얘기한대로 한 번 발급된 토큰은 그 자체로 인증 수단이 되기 때문에, 보안에 더 신경을 써야 하고, 토큰이 탈취되면 악용될 수 있다는 점도 주의해야 합니다. 이런 refreshtoken을 가지고 JWT계획을 어떻게 짰는지 살펴봅시다. 1. 유저가 첫 로그인시 accesstoken, refreshtoken 발급해 줄 것입니다.
2. accesstoken은 클라이언트에서 저장을 하고 refreshtoken은 DB에 쌓는다.
이제 바로 코드로 확인해보자. 소셜로그인 1편 포스팅에서 DB에 유저정보 쌓는거 까지 다뤘으니 그 이제부터 보자. findUserPayload에는 accesstoken에 담을 정보들을 넣어줍니다. refreshtoken에는 굳이 findUserPayload 이 정보를 다. 담을 필요가 없어서 audience만 지정해줬습니다. 이렇게 설정하면 나중에 백엔드에서 이 audience값을 검증해서, 요청을 보낸 사용자의 ID와 일치하는지를 확인해 해당 토큰이 맞는 사용자에게 발급된 건지 확인할 수 있어요.
만료기간은 env파일에서 accesstoken 1시간, refreshtoken 14일로 지정해줍니다. 쿠키설정의 만료기간도 refresh_token에서 사용하던 14일을 동일하게 넣어줍니다.
결과 확인
이제 전부 끝났으니 정상 작동하는지 결과를 확인해보자. 1. 로그인 로그인시 클라이언트엔 accesstoken, DB엔 refreshtoken이 정상적으로 쌓였다. 2. refreshAPI 첫번째는 정상적으로 accesstoken이 정상적으로 재발급 된것이고, 두번째는 만료된 refreshtoken을 넣었을 때 case인데 로그인이 필요할 수 있습니다 제대로 출력됩니다. 3. 로그아웃 API 로그아웃 API를 실행하면 정상적으로 refreshtoken이 초기화된 것을 확인할 수 있어요.
드디어 소셜 로그인을 전부 완료했다. 처음으로 제대로 JWT를 해보는거라 초반에 이해하는데 꽤나 머리를 쥐어뜯었는데 막상 이해를하고 코드를 보니 어려운건 없더라. 포스팅도 하면서 한번 더 정리를 하느라 완벽히 이해를 했다.