로그인

Java/Spring

[Spring] 로그인과 무관한 API 호출 시 Session이 발급되는 현상

📌 문제상황 현재 SW마에스트로에서 개발한 앱에서 로그인 관련한 이슈가 다수 발생했다. 앱 실행했을 때 로그인 버튼이 안 나오거나, 세션이 만료되지 않았음에도 불구하고 앱을 껐다 키면 다시 로그인을 해야하는 문제가 있었다. 해당 문제를 해결하려고 하는 도중에 FE 개발자가 "쿠키에 아무것도 들어가지 않았는데 API가 호출이 된다."라는 말을 했다. 아마 클라이언트 단에서 쿠키를 캐싱하는 기능이 있나 했다... (이 부분에 대한 의문은 아직 풀지 못한 상태이다.) 일단 해당 현상을 재현하기 위해 Postman을 통해 Cookie에 아무것도 존재하지 않을 때 API를 호출했다. 그런데 이게 무슨 일인지, 세션을 발급해야 하는 API가 아님에도 불구하고 Cookie에 세션이 담겨 있는 것을 확인할 수 있었다...

Web/HTTP

[HTTP] Spring에서 Cookie 설정 시 Headers에 Set-Cookie가 생기지 않는 문제

사실은 문제가 아니라 HTTP와 Cookie에 대해 잘 알지 못해 발생한 나의 문제였다... 문제 상황 세션 로그인 API를 개발한 후, Postman을 통해 쿠키가 잘 생성된 것을 확인했다. 하지만 어느날 클라이언트에서 세션에 대한 쿠키가 Response Header에 담겨있지 않다는 문제가 발생한다고 했다... 그래서 Postman을 통해 다시 확인해보니 API를 처음 실행했을 때는 헤더에 쿠키가 잘 담겨있지만, 2회 이상 실행하는 경우 담겨있지 않았다. 나는 이 부분이 이상하다고 생각하고 API에서 매번 직접 헤더에 세션을 넣어주도록 코드를 변경해주었다. 문제 해결 사실은 무지로 인한 문제가 발생한 것이었다. 나는 로그인 API를 2회 이상 실행할 때 헤더에 쿠키 정보가 사라지는 것을 이상하게 생각..

Java/Spring

[Spring] OAuth2 소셜 로그인 후 Postman에서 Session 설정하기

프로젝트에서 인증(Authentication), 인가(Authorization)를 구현한 이후에는 Postman에서 아무런 설정 없이 API를 호출할 수 없을 것이다. 로그인 구현에 따른 세션 및 토큰 설정이 별도로 필요하기 때문이다. 필자는 Session을 이용한 소셜 로그인을 구현하여, 해당 방식에서 API를 호출하기 위해 Postman 설정 방법을 알아보고자 한다. 1️⃣ 소셜 로그인 진행 먼저 소셜 로그인 페이지에 들어가 로그인을 진행한다. 2️⃣ 발급된 Session 확인 이후 F12를 클릭하여, 발급받은 Session의 Value를 확인하자. 3️⃣ Postman에 Cookies 등록하기 우상단에 있는 Cookies를 클릭하자. 이후 위에서 확인한 Session의 Value를 아래와 같이 등록..

Web/HTTP

[HTTP] 쿠키에 대해 알아보자

해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 쿠키란? 🍪🍪 쿠키란 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 말한다. Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 쿠키를 사용하지 않으면? HTTP는 무상태(Stateless) 프로토콜이다. 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어진다. 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다. 클라이언트와 서버는 서로 상태를 유지하지 않는다. 무상태(Stateless) 프로토콜에 대해서는 다음 게시글을..

당찬 뱁새
'로그인' 태그의 글 목록