개발자

클라이언트에서 사용자가 로그인 상태인지 판별하는 방법

2023년 12월 08일조회 1,317

일반적으로 웹/앱 클라이언트에서 사용자가 로그인 상태인지 어떻게 확인하는지 궁금합니다. 1. 서비스에 접속하고 페이지를 이동할 때마다 매번 유저 정보를 가져오는 api를 호출해서 에러가 나면 로그아웃 상태로 판단한다. 2. 서비스에 접속할 때 한번 유저 정보 api를 호출하고 에러가 나면 로그인 api를 호출해서 성공할 때까지 로그아웃 상태로 판단한다. 3. 쿠키나 로컬 스토리지 같은 곳에 세션 id가 있는지 여부로 판단한다. 지금 생각해본건 이렇게 세가지 인데 일반적으로 어떻게 로그인 상태인지 매번 판별하는지 궁금합니다! 그리고 환경을 nextjs로 가정했을때 이 유저 api 호출을 ssr과 csr중 어디서 호출하는게 좋을지도 알고 싶습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

인기 답변

강병진님의 프로필 사진

로그인 후에 접근하는 화면은 일반적으로 인증된 사용자만 접근 가능한 endpoint를 호출하는 경우가 많습니다. 따라서 1. 로그인 전에는 로그인 시도를 통해 인증 2. 로그인 후에는 response status code를 확인해서 200인지, 201인지, 401인지, 403인지 등으로 판단하시면 됩니다. 다만 status code 를 활용하는 경우에는 서버와 약속(?)이 잘 되어있어야 합니다

인기 답변

김태우님의 프로필 사진

전역 상태로도 관리를 하는 경우도 있습니다. 보통은 쿠키 또는 세션에 넣어놨다가 페이지 이동 마다는 아니구 서버에 요청이 발생하는 시점에서 같이 보내 확인하는 경우를 많이 봤습니다. 헤더에 넣는 방법도 있습니다. 세션 기반 인증, 토큰 기반 인증에 대해 조금 더 알아보시면 될 거 같습니다! ssr인지 csr인지는 중요하지 않다고 생각합니다. 다만, 프로젝트 또는 서비스의 성격이나 컨셉 등에 따라 달라질 거라 생각합니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!