작성
·
41
·
수정됨
0
https://github.com/ZeroCho/z-com/blob/master/src/auth.ts#L16
배포하신 깃헙에서 궁금한점이 생겨서 질문드립니다
1. signOut에서 백엔드로 로그아웃 요청만 보내고 authorize()처럼 쿠키값을 set해주지 않았으니 connect.sid는 남아있는게 맞나요?
2. next auth 세션값이 지워지면서 프론트서버와 인증이 끊기는데 프론트서버에서 굳이 백엔드로 요청을 보내는 이유가 뭘까요? 백엔드 서버에 로그 남기기 위해서인가요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. andante님!
깃헙에서의 auth.ts
와 관련한 signOut
과 쿠키 관리에 대한 질문에 대해 답변해드리겠습니다.
signOut에서 쿠키 처리: 로그인 시 백엔드가 생성한 세션 쿠키(connect.sid
)는 signOut
요청 시 삭제되지 않고 남아 있을 수 있습니다. 주로, 클라이언트 관점에서 세션을 정리하는 것이기 때문에, 백엔드의 connect.sid
쿠키를 함께 무효화하거나 삭제해야 하는 책임이 있습니다. 이는 보안상 중요합니다.
백엔드 로그아웃 요청의 이유: 프론트엔드에서 백엔드로 로그아웃 요청을 보내는 이유는 여러 가지가 있을 수 있습니다. 가장 일반적인 이유는 백엔드 세션 상태를 명시적으로 종료하는 것입니다. 백엔드에서 세션을 관리하고 있으면, 그 세션을 무효화하기 위해 로그아웃 요청을 보내는 것이 필요합니다. 또한, 백엔드에 로그를 남기거나, 다른 서버 측 처리를 트리거하기 위한 용도로도 사용됩니다.
추가적으로, 로그 기록이나 보안을 위한 백엔드 로그아웃은 중요할 수 있습니다. 이는 사용자의 세션의 무단 종료를 방지하거나, 사용자 활동 로그를 기록하기 위함입니다.
더 많은 관련 정보를 원하시면, 다음의 기존 질문과 답변을 참고하세요:
- 로그아웃할때 어떻게 next-auth는 이것이 api/logout으로의 post요청을 보내는것인지 아는건가요?
- 백엔드 토큰 저장 위치
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!