호주 IT 취업

[SSO 로그인 흐름 6편] 한 번 로그인했는데 왜 다 되는 거야? – 자동 로그인과 세션의 비밀

ActYourValue 2025. 6. 20. 00:48
반응형

SSO의 마법: 한 번 로그인으로 모든 서비스 접속

회사에서 업무 시작할 때 한 번 로그인만 했을 뿐인데…

  • 이메일도 열리고
  • 메신저도 되고
  • 사내 포털, 클라우드 문서, ERP까지 자동 로그인?

이 놀라운 경험은 Single Sign-On (SSO) 덕분입니다.

 

그런데 이 마법 같은 일이 어떻게 가능할까요?


지난 글 복습: 로그인은 이렇게 이뤄졌죠

  1. 사용자는 서비스 제공자(SP)에 접속
  2. SP는 사용자를 IdP로 리디렉션
  3. 사용자는 IdP에서 로그인 (ID/PW)
  4. IdP는 SAML Assertion을 생성
  5. 브라우저가 SP에 Assertion 전달
  6. SP는 Assertion을 검증하고 로그인 세션 생성

그럼 이제 이 질문이 생깁니다.

 

“왜 다른 SP에 접속해도 또 로그인하지 않아도 되지?”


비밀 1: IdP 세션 쿠키

핵심은 바로 IdP가 브라우저에 남긴 세션 쿠키입니다.

  • 사용자가 IdP에서 로그인에 성공하면,
  • IdP는 브라우저에 세션 쿠키를 저장합니다.
    (예: Set-Cookie: session_id=xyz123;)

이 쿠키는 이후에도 IdP에 접근할 때 자동으로 함께 전송됩니다.

 

즉, 브라우저는 “이미 로그인했어요”라고 스스로 인증하는 셈이죠.


자동 로그인 흐름 (다른 SP에 접근할 때)

  1. 사용자가 새로운 SP (예: drive.company.com)에 접속
  2. SP는 IdP로 리디렉션
  3. 브라우저는 IdP에 접속하며 세션 쿠키 자동 전송
  4. IdP는 “이미 인증된 사용자”임을 확인
  5. 새로운 SAML Assertion을 생성해 SP로 전달
  6. SP는 로그인 완료

사용자 입장에서는 “로그인 창도 안 나왔는데 자동 로그인된 것”처럼 보입니다.


세션은 어디에 저장될까?

세션 정보저장 위치설명
로그인 상태 IdP (서버 세션 or DB) 사용자가 로그인했는지
인증된 사용자 정보 SP (서버 세션, JWT 등) SP 측에서 로그인 유지용
쿠키 브라우저 세션 ID를 저장하고 서버에 보내주는 매개체
 

이 구조는 브라우저 중심으로 흐름이 유지되기 때문에, 사용자 경험이 매끄럽습니다.


로그아웃은 어떻게 작동할까? (Single Logout)

이쯤 되면 또 이런 의문이 생기죠.

“한 번 로그인으로 다 들어가면… 로그아웃도 다 같이 돼야 하지 않나?”

 

맞습니다. 이를 SLO (Single Logout) 이라고 합니다.

  • 사용자가 하나의 SP에서 “로그아웃”을 누르면,
  • 그 SP는 IdP에 “로그아웃 요청”을 보냅니다.
  • IdP는 연결된 다른 SP들에게도 로그아웃 요청을 브라우저를 통해 전파합니다.

하지만 현실적으로 모든 SP가 로그아웃 처리를 100% 잘 지원하는 건 아닙니다.

 

그래서 완전한 SLO는 기술적으로 어려운 과제입니다.


보안적으로 중요한 포인트

  • 쿠키는 보안 설정 필수
    • Secure, HttpOnly, SameSite 설정이 권장됩니다.
  • 브라우저 닫는다고 로그아웃되지 않을 수도 있음
    • 세션 타임아웃을 설정해야 함
  • 다른 사람과 PC 공유 시, SSO는 위험 요소가 될 수 있음
    • 자동 로그인 상태에서 다른 서비스에 무단 접속 가능성

이를 위해 세션 타임아웃, 자동 로그아웃, MFA 적용, 기기 인증 등의 보완 기능이 함께 적용되곤 합니다.


요약: SSO의 자동 로그인은 이렇게 된다!

IdP 로그인 → 브라우저에 세션 쿠키 저장 → 다른 SP 접근 시 IdP 리디렉션 → 쿠키 기반 인증 → 자동 SAML Assertion 발급 → 다른 SP도 로그인 완료

 

사용자는 그저 "다 되는 느낌"을 받지만, 그 뒤에는 세션 관리 + 브라우저 쿠키 + SAML 프로토콜이 유기적으로 움직이고 있죠.


다음 예고: 실전 사례 (Azure AD, Okta, OneLogin 등)

다음 7편에서는 실제 회사에서 많이 쓰는 SSO 시스템인 Azure Active Directory, Okta, OneLogin 등을 중심으로 실제 로그인 흐름 사례를 보여드릴 예정입니다.

 

각 시스템의 리디렉션 URL, 인증 흐름, 조직 단위 설정 등도 간단히 소개합니다.

반응형