inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백엔드 모의면접] JWT 로그아웃은 어떻게 구현할까?

약풍
0

안녕하세요.
인프랩에서 모의면접 서비스를 개발/운영하고 있는 약풍이라고 해요.

오늘 빼빼로 많이 받으셨나요?

...오늘도 백엔드 면접질문을 드려보도록 하겠습니다 💪

 

오늘의 백엔드 질문

로그인에 JWT를 사용했다면, 로그아웃은 어떻게 구현하시겠어요?

이력서나 포트폴리오에 JWT 기반 인증을 구현했다고 적은 분들이 많은데, 이 질문이 따라붙을 수 있어요.

JWT는 서버가 상태를 들고 있지 않아도 된다는 점이 장점인데, 로그아웃이나 계정 정지는 반대로 "이 토큰은 이제 유효하지 않다"는 상태를 어딘가에 두라고 요구하거든요.

그래서 이 질문은 라이브러리 사용 경험을 묻는다기보다, JWT의 장점과 그 장점 때문에 생기는 제약을 같이 이해하고 있는지 보는 질문이에요.

 

답변 키포인트

 

클라이언트에서 토큰만 지우면 안되는 이유

로그아웃을 이야기할 때 "클라이언트에서 토큰을 지운다"에서 끝나면 아쉬운 답변이에요.
이미 발급된 토큰을 누가 따로 복사해뒀다면 만료 시각까지는 그대로 통과하니까, 화면에서 사라진 것과 무효화된 것은 다르거든요.

그래서 access token의 수명을 어느 정도로 잡았는지, refresh token은 서버에서 폐기할 수 있게 저장해뒀는지, 즉시 차단이 필요한 상황에는 어떻게 조치할 수 있는지를 같이 설명할 수 있게 준비하는 게 좋아요.

 

면접에서는

면접에서 이 질문을 받았다면 "JWT는 서버 조회 없이 검증되도록 만든 구조라, 발급된 토큰을 중간에 무효화하는 것은 원래 설계와 반대 방향의 요구"라는 식으로 답변을 시작하면 좋아요.

그다음에는 아래 내용까지 이어서 설명하면 돼요.

여기까지 말하면 "그러면 세션을 쓰는 게 낫지 않냐"는 질문이 따라올 수 있어요.
이때는 서버를 여러 대로 늘릴 때의 세션 공유 비용과 매 요청 조회 비용을 비교해서 선택한 것이라고 연결해주면 더 좋아요.

 

꼬리질문

다음의 꼬리질문도 생각해보세요.

 

 

AI 모의면접으로
나의 면접 스킬을 체크해보세요

프론트엔드,백엔드,FDE 기술면접부터 문화면접까지,
개발자 면접 준비를 실전처럼 연습해 보세요.

직무/문화면접 보러가기

취업 · 이직 백엔드 모의면접 AI면접 면접준비

답변 0