SSO 구현 개요
SSO(Single Sign-On)를 통해 사용자는 한 세트의 로그인 정보(주로 사용자 이름과 비밀번호)를 사용하여 여러 애플리 케이션에 액세스할 수 있습니다. SSO는 인증(사용자의 신원 확인)과 승인(사용자에게 필요한 액세스 권한)을 모두 제공하므로 사용자는 재인증할 필요 없이 템플릿 사이트를 열고 사용할 수 있습니다.
SSO 사용 사례
SSO를 사용하면 사이트에서 고객이 로그인하지 않고 탐색할 수 있도록 하거나, 바로 로그인하도록 하거나, 여정의 어느 시점에서든 로그인하도록 할 수 있습니다. 로그인 방식은 로그아웃 방식과도 밀접한 관련이 있습니다. 사용자가 템플릿 사이트에서 로그아웃하면 기본 사이트에서도 로그아웃할지 여부를 결정할 수 있습니다. 로그인 사용 사례는 다음과 같습니다.
- 사용자가 기본 사이트에 로그인하고 템플릿 사이트로 연결되는 링크를 클릭합니다. 로그인이 유지되므로 인증된 사용자로서 템플릿 사이트를 사용할 수 있습니다.
- 사용자가 파트너 사이트에 로그인하지 않고 템플릿 사이트로 리디렉션되는 링크를 클릭합니다. 템플릿 사이트에 로그인하려고 하면 로그인을 위해 ID 공급자(IdP)로 리디렉션되어야 하며, 로그인이 완료되면 템플릿 사이트 로 다시 돌아가야 합니다.
로그아웃 사용 사례는 다음과 같습니다.
- 사용자가 템플릿 사이트에서 로그아웃합니다. 기본 사이트로 돌아오면 기본 사이트에서도 로그아웃될 수 있습니다.
- 사용자 세션은 장시간 활동이 없으면 만료됩니다(Expedia의 기본값: 60분). 사용자는 기본 사이트와 템플릿 사이트 모두에서 로그아웃됩니다.
지원되는 SSO 프로토콜
Expedia는 업계 표준 SSO 프로토콜을 사용하며, 이미 사용 중인 프로토콜에 맞게 조정할 수 있습니다. 지원되는 프로토콜은 다음과 같습니다.
- SAML v2: SAML(Security Assertion Markup Language)은 인증을 위해 XML 기반 프레임워크를 사용합니다. SAML v2(SAML 2.0이라고도 함)는 2005년에 웹 기반 도메인 간 SSO를 지원하는 표준 프로토콜이 되었습니다.
- OpenID Connect: OIDC(OpenID Connect)는 OAuth 2.0 기반의 오픈소스 인증 프로토콜입니다. 많은 기술 회사에서 웹 기반, 모바일 및 JavaScript 클라이언트에 사용하는 신뢰할 수 있는 프로토콜입니다.
- OAuth 2.0: OAuth 2는 HTTP 서비스에 사용자 계정이 액세스할 수 있도록 지원하며 모바일, 웹 및 데스크톱 애플리케이션에 대한 승인 흐름을 제공합니다.
더 자세히 알아보고 싶으세요? 표준 및 리소스 페이지에 몇 가지 관련 링크가 있습니다.