카카오 로그인) 인가코드 관련 질문

카카오 로그인만 구현해놓은 상태에서 로그인을 진행하였습니다. (id_token까지 오는 것을 확인)
그리고 나서 다시 한 번 카카오 로그인 버튼을 눌렀을 때, 로그인 과정과 동의화면을 거치지 않고 바로 인가 코드를 넘겨주는 것에 의문이 들었습니다.

분명 카카오서버로 rest api key 와 redirect uri만 파라미터로 넘겨주었는데, 어떻게 내가 나인지 알고 바로 로그인이 되는 건가요? 참고로 카카오톡은 꺼져있습니다.

어떤 곳에 어떤 방식으로 제가 이 컴퓨터로 로그인 했었다는 사실을 알고 있는 것인지 궁금합니다!

안녕하세요.

카카오 로그인은 일반적인 OAuth2와 같이

카카오 측에 로그인하고 카카오 동의창이 표시되게 됩니다. (이미 동의한 경우 리다이렉트URI로 이동)

카카오측 인가요청 주소로 이동 시, 카카오계정에 로그인 했는지 여부를 판단하여 로그인되어 있다면 해당 계정으로 진행됩니다.
로그인이 되어 있지 않다면 카카오계정 로그인 페이지가 표시됩니다.

즉, 현재 테스트하시는 브라우저에 카카오계정로그인이 되어 있기때문에 식별 가능한 것입니다.

accounts.kakao.com에 접속해보시면 현재 브라우저에 로그인된 계정을 확인할 수 있습니다.

“브라우저에 카카오계정 로그인이 되어 있기 때문에” 라는 게 무슨 뜻인가요?
브라우저에 카카오 계정에 관련한 정보가 저장되어 있나요?
그렇다면 어디에 저장되어 있나요??

(1) kauth.kakao.com에 인가요청 하시면 로그인 여부를 판단합니다.
(2) 로그인 안했다면 login.kakao.com에 로그인하고 다시 kauth.kakao.com에 인가요청합니다.
(3) 최초 접근이라면 카카오 동의창이 표시되고 동의 후, redirect URI로 이동합니다. 이미 동의 했다면 redirect URI로 이동합니다.

이절차는 OAuth2 표준 절차로 소셜로그인을 제공하는 모든 업체 동일합니다.


“브라우저에 카카오계정 로그인이 되어 있기 때문에” 라는 게 무슨 뜻인가요?

login.kakao.com에 로그인 했다는 의미입니다.

브라우저에 카카오 계정에 관련한 정보가 저장되어 있나요?

아니요,

웹브라우저-> 서버간 통신으로 login.kakao.com에 로그인이되면 세션을 생성하고
세션은 서버와 클라이언트 브라우저에 도메인 종속적으로 플래그가 설정되는데요.
일반적인 로그인과정과 동일하며, 계정 개인정보가 저장되는 개념이 아닙니다.

https://ko.wikipedia.org/wiki/HTTP_쿠키

그렇다면 어디에 저장되어 있나요??

브라우저에 저장되지 않습니다.

모바일, PC 및 로그인 방식에 따라 달라지지만 login.kakao.com에 로그인하면 인증 성공여부를 판단하고 로그인된 상태라는 세션을 브라우저와 서버간 도메인에 종속적으로 유지합니다.

이는 웹(브라우저)에서 로그인 처리 하는 일반적인 내용입니다.

쉽게 잘 설명된 블로그가 있네요.

https://catsbi.oopy.io/0c27061c-204c-4fbf-acfd-418bdc855fd8
https://velog.io/@junhok82/로그인은-어떻게-이루어질까Cookie-Session

1개의 좋아요