인프런 커뮤니티 질문&답변

andante님의 프로필 이미지
andante

작성한 질문수

Next + React Query로 SNS 서비스 만들기

로그아웃 & 로그인 여부에 따라 화면 다르게 하기

배포하신 깃헙 auth.ts signOut 질문입니다

작성

·

42

·

수정됨

0

https://github.com/ZeroCho/z-com/blob/master/src/auth.ts#L16
배포하신 깃헙에서 궁금한점이 생겨서 질문드립니다

1. signOut에서 백엔드로 로그아웃 요청만 보내고 authorize()처럼 쿠키값을 set해주지 않았으니 connect.sid는 남아있는게 맞나요?

2. next auth 세션값이 지워지면서 프론트서버와 인증이 끊기는데 프론트서버에서 굳이 백엔드로 요청을 보내는 이유가 뭘까요? 백엔드 서버에 로그 남기기 위해서인가요?

답변 2

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

  1. 네 남아있는게 맞습니다. 다만 로그인은 안 됩니다.

  2. 백엔드는 로그인되어있는 상태라 백엔드도 로그인 끊어주셔야 합니다.

andante님의 프로필 이미지
andante
질문자

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. andante님!

깃헙에서의 auth.ts와 관련한 signOut과 쿠키 관리에 대한 질문에 대해 답변해드리겠습니다.

  1. signOut에서 쿠키 처리: 로그인 시 백엔드가 생성한 세션 쿠키(connect.sid)는 signOut 요청 시 삭제되지 않고 남아 있을 수 있습니다. 주로, 클라이언트 관점에서 세션을 정리하는 것이기 때문에, 백엔드의 connect.sid 쿠키를 함께 무효화하거나 삭제해야 하는 책임이 있습니다. 이는 보안상 중요합니다.

  2. 백엔드 로그아웃 요청의 이유: 프론트엔드에서 백엔드로 로그아웃 요청을 보내는 이유는 여러 가지가 있을 수 있습니다. 가장 일반적인 이유는 백엔드 세션 상태를 명시적으로 종료하는 것입니다. 백엔드에서 세션을 관리하고 있으면, 그 세션을 무효화하기 위해 로그아웃 요청을 보내는 것이 필요합니다. 또한, 백엔드에 로그를 남기거나, 다른 서버 측 처리를 트리거하기 위한 용도로도 사용됩니다.

추가적으로, 로그 기록이나 보안을 위한 백엔드 로그아웃은 중요할 수 있습니다. 이는 사용자의 세션의 무단 종료를 방지하거나, 사용자 활동 로그를 기록하기 위함입니다.

더 많은 관련 정보를 원하시면, 다음의 기존 질문과 답변을 참고하세요:
- 로그아웃할때 어떻게 next-auth는 이것이 api/logout으로의 post요청을 보내는것인지 아는건가요?
- 백엔드 토큰 저장 위치

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

andante님의 프로필 이미지
andante

작성한 질문수

질문하기