Single Sign on에 대한 궁금증

안녕하세요
SSO에 대해서 궁금증이 있습니다.

SSO는 동일 사용자가 카카오 계정을 사용하는 어떤 시스템(=A시스템)에 카카오 로그인이 된상태이면
카카오 계정을 사용하는 다른 시스템(=B시스템)에 접근할때, 로그인 할 필요없이, 바로 로그인 완료된 화면으로 넘어가는것으로 정리될것 같습니다.

여기서 궁금증이 있습니다.
카카오 입장에서는 A로 로그인 요청이 오고, B로 로그인 요청이 오는것일뿐, 해당 로그인 요청이 동일 사용자라는것을
구분을 해야할것같은데, 어떤 기준으로 구분하는지 궁금합니다. 또한 로그인 요청에도 사용자에 대한 정보는 포함되지 않은것으로 알고있습니다.

SSO를 제공하기 위해 접근하는 서로 다른 두 요청이, 어떻게 한명의 사용자가 발생한 요청으로 구분하는지 궁금합니다.

감사합니다.

안녕하세요.

다른 서비스에서 카카오 로그인 시, ID/PW 입력이 다시 뜨지 않는 이유는 브라우저에 이전에 인증한 세션이 유지되고 있기 때문입니다.

때문에 다른 시스템에서 다시 ID/PW입력하지 않고 곧바로 redirect_uri로 인가코드를 반환하여 카카오 로그인의 인가처리(토큰발급)와 해당 시스템의 인가처리를 마무리 할 수 있는 기회를 제공합니다.

@woody.ho
답변 감사합니다.
‘브라우저에 이전에 인승한 세션이 유지된다’ 는 의미가, cookie로 저장된다는 말씀이실까요?
결국 그러면 cookie를 삭제하게되면, sso로 유지되는 어떤 접속?연결?도 끊키게 되는건가요?

네, 쿠키를 말합니다.
쿠키가 삭제되면 인증정보를 확인할 수 없게되니 카카오 측에서는 인가처리를 해줄 수 없고, 로그인 페이지로 전환됩니다.

@woody.ho
답변 감사드립니다.
혹시 App에서 kakao sso를 구현하려면, 어떻게 세션을 유지해야하나요?

여러 App 간SSO를 말씀하시는건가요?

@woody.ho
네 맞습니다.

SSO를 어떻게 구현하실지 잘 이해하지 못하였는데요 구현하고자 하는 서비스 모습이 어떤지 구체적으로 설명해 주시겠어요?

앞의 답변에서는 카카오 로그인 페이지에서 이전 세션을 판단하여 ID/PW 입력을 건너 뛰는 흐름만을 설명드렸습니다.
(카카오 서버에서 하는 일)

결국 서비스 측에서 인가처리를 하시는건 똑같고, 이 후 조회 하시게 되는 사용자 정보로 SSO를 직접 구현 하셔야 합니다.
(직접 구현할 때, 회원식별이나 해당 인증정보의 검증 등을 쉽게 하실 수 있도록 카카오에서 OIDC를 지원하고 있습니다)

안녕하세요 SSO가 어떻게 이루어지는지, 공부하다가. 계속 궁금증이 떠오르는 부분이 있어서, 도움을 얻고자 질문드리게 되었네요. 기본적인 질문일수도 있는데, 어디에 확인할곳이 없어 계속 질문드리게 됩니다.

먼저 계속 답변 주셔서 감사합니다.

혹시 아래 이해한 내용이 맞는지 확인 부탁드립니다.

서비스 측에서는, 카카오 서버에서 인가코드가 오고, 해당 인가 코드로 토큰을 획득하고, 해당 토큰으로 사용자 정보를 조회해서… 궁극적으로는 사용자 정보를 획득하게됩니다.

OIDC를 활용하면, 위의 "사용자정보조회"생략 없이, OIDC에 있는 ID Token만으로도 사용자 정보를 획득할 수 있습니다.

결국 서비스에서는 카카오 서버를 통해 사용자 정보 획득에 성공했으니, 그 이후에 필요한 로그인 처리를 구현하면됩니다.

여기까지 이해가 완료되었습니다. 그러면 카카오서버에서는 서로 다른 두 서비스가 같은 사용자라는걸 어떻게 식별할까?? 라는 궁금증이 생겨서, 첫번째 질문을 드렸던겁니다 (답변은 cookie를 통해 식별한다고 말씀해주셨습니다.)

그러면, cookie라는것이 찾아보니, web browser에 저장되는 저장소(?)개념으로 알고있습니다.

근데 web을 사용하는것이 아닌 App에서는 cookie라는것이 없을텐데, 어떻게 식별하는지 궁금해서 질문 드렸습니다.

왜냐면 저희 휴대폰에 카카오톡이 설치되어있고 로그인 상태이면, 다른 서비스를 통해 '카카오를 통해 로그인’을 진행해도 자동으로 로그인이 되더라구요. APP에서도위의 cookie와 같은 저장소의 개념을 사용하는걸까요?

감사합니다.

안녕하세요.
동일 웹브라우저가 아니라면 cookie는 유지되지 않습니다.

APP에서 별도 ID/PW로그인 없이 카카오톡앱을 통해인증하는 것은 웹에서 처리되는 방식과 무관합니다.

cookie에 저장된 정보를 이용하는 것이 아니라
카카오톡앱을 통해 대신 로그인 처리를 실행하는 개념입니다.

참고부탁드려요.