반성하며 시작 : 로그인을 대충 이런 느낌으로 어림짐작 했던 나프론트엔드 개발자나 클라이언트 입장에서의 로그인은 이런 느낌일것입니다.“로그인 요청을 보내면 서버에서 토큰이 온다” → “그 토큰을 저장하고 요청 헤더에 붙인다” → “서버는 그 토큰을 확인하고 권한을 부여한다” 이 3가지 흐름은 명확하게 알고 계십니다. 그러나, 백엔드 코드를 직접 작성하는 백엔드 개발자에서의 시선은 여기서 한단계 더 내려갑니다.“토큰은 누가 어떤 정보로 만들어야하지?”“서버는 토큰을 어떻게 믿지?”“토큰이 만료되면, 왜 RefreshToken이 필요하지?”로그인 성공은 단순하지 않다.로그인 시스템을 구현할때는 보통 두 단계를 고려합니다.먼저 인증(Authentication)을 하겠습니다.“로그인 하려고 하는 너는 도대체 누..